Skip to content(if available)orjump to list(if available)

Schematra: A Sinatra love letter in Scheme

funkaster

I started this project a couple of weeks ago because I was stuck on my side project and needed some motivation. For a very long time I wanted to get back to do something useful in lisp/scheme, did a quick research and settled on CHICKEN mostly because it's relatively well maintained, fast enough, it's extremely easy to build/install and very easy to write interop to pretty much any library.

Most of the projects that I've written on the side have been using some combination of Sinatra + Sequel + Postgres/Redis/Something else + HTMX. I love the simplicity of Sinatra's API so I decided to focus on trying to have a similar experience but in scheme, trying to make it ergonomic for a scheme dev (that part might not be there yet since I'm not an experienced scheme dev).

The most fun part was the dev cycle: Emacs + NREPL + Aider (as a code reviewer & rubber ducky. For codegen it's mostly annoying but works great for documentation & refactoring).

I hope to add full SSE & WebSocket support some time this week. Anyway, hopefully this is interesting to some of you and might be a source of fun :)

sivers

Wow. Last year I hired Peter Bex - a lead Chicken Scheme dev - to help me do the same thing! (Sinatra in Chicken Scheme.)

It passed the tests but I didn't put it on my Github because I realized I wasn't going to continue using it.

If anyone's interested, I could add it on Github I guess. sive.rs/contact