Back

AllegroServe, a web server written in Common Lisp

91 points3 yearsgithub.com
guenthert3 years ago

How does it compare (feature-wise, performance, stability) with e.g. hunchentoot (which clearly wins the naming contest)?

jinwoo683 years ago

I think this runs only with Allegro Common Lisp, a commercial implementation.

agambrahma3 years ago

Not really, you can run this under SBCL too.

guenthert3 years ago

I need another hint. The sources seem to depend on Allegro specifics, e.g. the :excl package (with the enlightening description "General extensions to Common Lisp").

mikelevins3 years ago

You can load :aserve from qucklisp to get a portable fork of AllegroServe that works with sbcl (or at least it appears to at first glance on my copy of SBCL 2.2.6).

The README distributed with the library offers a little guidance to getting started.

+1
sanxiyn3 years ago
zdav243 years ago

I'd also be interested in a feature comparison against Swish (https://github.com/becls/swish), but I'm not actually familiar enough with either to make the comparison myself.

nerdponx3 years ago

Seems like an unrelated domain; AllegroServe is a web server, Swish looks like a lower-level Erlang-like framework for writing concurrent, fault-tolerant programs. Swish looks very interesting though!

I'd be interested in comparisons with Clack, though, the "other" Common Lisp web framework.

remexre3 years ago

> We've recently added these features:

> [...]

> - Security up through TLS 1.0 (SSL 3.1).

uhhhhhhhh, isn't this removed from Firefox for having security holes fixed in later versions of the TLS spec?

fiddlerwoaroof3 years ago

That line is about twelve years old, per git blame. Typically, I’d use a reverse proxy to handle HTTPS anyways.

nerdponx3 years ago

I would almost prefer a web framework that doesn't even bother trying to handle things like HTTPS and assumes that I'm using a reverse proxy in front of it. Fewer things to maintain.

lf-non3 years ago

Is this generally true for compiled languages ?

I like being able to handle https in a single go binary for small projects that otherwise don't need a load balancer etc.

fiddlerwoaroof3 years ago

I don't trust random web frameworks to implement HTTPS correctly and there are lots of subtle attacks on cryptography.