jerome.martin.dev
2018-8-10 08:57:52

@kennethdevel On my side I wrapped up most of the web-server basic use-cases in a library so that I can get projects running quickly without having to fuss around with the guts of web-server. I called it web-galaxy and I’m planning to keep it as simple and stupid as possible : https://github.com/euhmeuh/web-galaxy A simple blog example in the test folder: https://github.com/euhmeuh/web-galaxy/tree/master/web-galaxy-test/tests/web-galaxy/pony-blog


jerome.martin.dev
2018-8-10 09:42:35

I got inspired by the continue tutorial soegaard linked, but as I started to understand how continuation based servers worked, I realized it was also extremely dangerous if done wrong, and could benefit from being encapsulated. Right now web-galaxy disables continuation by default and only provides classic web responses, but the plan is to add a “form” system based on continuations, but used only where necessary (i.e. when the user must go through mutiple pages with data flowing and a way to keep track of what’s going on).


jerome.martin.dev
2018-8-10 09:44:17

IMHO continuations should be “opt-in” and used sparingly.


notjack
2018-8-10 09:45:00

I agree


notjack
2018-8-10 09:46:25

the continuations approach to forms is interesting historically, but I don’t think it works well with how modern web apps tend to get built


jerome.martin.dev
2018-8-10 09:47:44

that’s my feeling too, but I still want to test if there is a new creative way in which they could fit in the modern web :slightly_smiling_face:


notjack
2018-8-10 09:49:52

I’ve wondered if a continuation approach would fit well with a distributed workflow engine


notjack
2018-8-10 09:51:59

(distributed workflow = state-changing operation with multiple stages that can be individually executed, retried, and rolled-back without requiring that all stages in a workflow are run on the same machine)


jerome.martin.dev
2018-8-10 09:54:32

yeah, I’ve been working on that kind of engine in my previous job (it was in C#) and we struggled a lot with keeping the state through multiple machines. The bottleneck was always serialization of the current state of the process. Racket continuations can be serialized natively so I guess it could help solve this problem, but it could still get hairy.


notjack
2018-8-10 09:54:55

¯_(ツ)_/¯


notjack
2018-8-10 09:55:42

it’s a really neat problem but I have little idea what a good solution would look like


notjack
2018-8-10 09:55:48

very complicated domain


aowens5189
2018-8-10 15:43:03

@aowens5189 has joined the channel


aowens5189
2018-8-10 15:46:42

Hi everyone, I’m pretty new to racket, but I have a decent amount of programming experience in other languages. I was wondering what are some good/popular libraries for doing game programming in racket? It doesn’t really have to do much past loading images and handling input, as I won’t be trying to write any super complex games, but I want to find something to handle those kinds of tasks. I’ve seen htdp/image as well as universe, is that generally agreed to be the best thing for games in Racket?


shu--hung
2018-8-10 17:02:45

Personally, I would say 2htdp/image and 2htdp/universe are the best to way to make simple games and start playing with racket


soegaard2
2018-8-10 17:21:12

@aowens5189 It depends on how ambitious your are. If you want to kick the tires of Racket, the 2htdp libraries are fine.


soegaard2
2018-8-10 17:21:40

If you want something more low-level look at the gui libraries (find a canvas%).


soegaard2
2018-8-10 17:21:57

If you are into opengl there are libraries for that too.


soegaard2
2018-8-10 17:22:54

Finally there are some game related libraries at http://pkgs.racket-lang.org\|pkgs.racket-lang.org.


aowens5189
2018-8-10 17:24:46

Thanks a lot for your help!


soegaard2
2018-8-10 17:25:15

What kind of game do you want to write?


aowens5189
2018-8-10 17:26:36

Probably grid based puzzle types of games, most likely nothing real-time


soegaard2
2018-8-10 17:26:54

Then the 2htdp fits perfectly.


aowens5189
2018-8-10 17:27:38

Awesome! Thanks a lot for all the options