GNU Artanis – A fast web application framework for Scheme
16 comments
·August 26, 2025rolandog
neilv
> Scheme is such a nice language to code and hack with; but, how safe would it be to expose it directly?
If you have really good Scheme programmers, who know their system, and built it competently, it's probably safer to expose that than your average conventional system.
(Example: A system in Scheme was the first to get a particular certification for sensitive data hosting on cloud servers. Partly because the very small team that developed it knew the stack inside and out, and could do whatever needed to be done, in a smart way.)
(Meanwhile, say, a consulting firm-led team who got a contract for a comparably complex system, and billed for 10 or 100 times the seat-warmers, with huge and ridiculously complex stacks they didn't understand... would just flounder, focus on appearances in sprint tasks, and churn out things implemented in poor ways, and with a large number of vulnerabilities, and probably take a lot longer before they could deliver a system that would survive the first day of use.)
shakna
I've used this in production once.
Mostly able to because Guile's web server is standard, and if you need to bypass the framework, you can rather easily.
It's more than fast enough for most people's needs. Flexible, because Scheme, and Artanis' design will be familiar to all the Flask/etc devs.
iameli
Is this named after the Protoss Executor Artanis?
shakna
> Has a Sinatra-like style route, hence the name "Artanis" ;-)
stackghost
"Artanis" backwards is "Sinatra" which happens to be the name of a popular Ruby gem for web dev.
neilv
Just a comment on APIs in Scheme...
If you're defining a Web server route handler, it's reasonable to do it as you would in most languages, like this package's example:
(get "/hello/:who"
(lambda (rc)
(format #f "<p>hello ~a</p> " (params rc "who"))))
But the following might be easier syntax extension in Scheme, in which each variable URL path element can be mapped for the programmer directly to a Scheme variable binding in the closure: (define-http-get-route ("/hello/" who)
(format #f "<p>hello ~a</p> " who))
(Of course, you'd also have a function to sanitize/escape `who` before injecting it into the HTML.)aaron_m04
Projects using it is 404.
em-bee
the link at the bottom is wrong. the one at the top works: https://artanis.dev/projects.html
smcl
> Sailing to /dev/null
> That is no future for mediocre coder.
> The hacker is one another's arm. Codes in the editors.
> Those dying generations - at their song.
aye ok settle down, let's just see the code please
serhart
Relax, it's just a play on https://www.poetryfoundation.org/poems/43291/sailing-to-byza...
The code is a mouse wheel scroll down.
aorlov_a
[dead]
alphazard
This looks neat (I like scheme), but if you really want people to use your framework, the landing page should not start with cryptic nonsense. Is it supposed to be a poem? I don't even know. Consider me filtered.
coderatlarge
the page also says
“ GNU Artanis was Certificated as Awesome Project at 2013 Lisp in summer projects “
so i guess this is not news?
mindcrime
> so i guess this is not news?
Does it matter? Despite the name of the site, not everything that is posted/discussed here needs to be "news". Far from it, in fact.
tjr
It looks like the latest 1.3.0 release just happened a few days ago, but that isn't clear from (or even stated on) the linked web page.
Beautiful and clean website (loads well without JS and fonts); not sure why some people are reacting negatively to some poetry... I swear, HN crowd can be often worse than Mean Girls.
About Artanis itself... It looks really cool! Scheme is such a nice language to code and hack with; but, how safe would it be to expose it directly?
I see they are dogfooding on the Guix packages website, so... I'm guessing it's pretty well tested.