HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
fukamachi
clack
Common Lisp2012–2023
fukamachi / clack

clack

Web server abstraction layer for Common Lisp

7Distinct people
9Mentions
0Explicit recommenders
1.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Web server abstraction layer for Common Lisp

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year9 dated mentions

Observed mentions: 2012-11-15 12:20:22 UTC to 2023-06-17 18:34:42 UTC.

01232012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20122013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC101
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC101
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC303
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC000
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101

What Hacker News says

9 sources
Here's an updated version with DB tables (PostGres) that runs: https://github.com/tamurashingo/reddit1.0/ Require: CommonLisp (tested on SBCL) PostgreSQL memcached smtp server CL-USER> (reddit:startup-reddit) #<HUNCHENTOOT:EASY-ACCEPTOR (host *, port 8000)> Writing a CL web app today is definitely doable. You won't find a framework with bells and whistles (yet), but all the required building blocks: web servers (Hunchentoot or Clack, like WSGI for Python), choice in templating engines (Djula is Django-like and I like it a lot), etc. To replace JS a maximum I use HTMX which is language and framework agnostic, life is beautiful. In the end, you can build a static binary with all the static assets, send it to your server and run it. - https://github.com/fukamachi/clack - https://lispcookbook.github.io/cl-cookbo
Read the rest
In Reddit 1.0 was written in Lisp
> What web frameworks are recommended If you're intent on using Common Lisp, check out: https://github.com/fukamachi/clack If you're willing to consider Clojure (widely used, actively developed, target platforms: JVM, browsers, CLR), there are _lots_ of options - I've had success using Ring/Compojure in small, web service projects. Check out Clojure Toolbox's "web frameworks" section: https://www.clojure-toolbox.com Otherwise, if you're interested in Scheme (Guile, in this case), Artanis looks promising: http://web-artanis.com/
In Ask HN: Learning Lisp, and I have some questions
Lisp Programmer here, - quicklisp is the default for package management. If you need to load a different version of a package you can use the local projects dir. I've never used Qi before, so I really can't say anything on it. - For a framework I would recommend either Clack[1] (relatively small but featureful) or Ningle[2] (micro-framework).Both support multiple backends including Huntchentoot. - There are object store databases and serializers like cl-store and cl-prevalence, but if you really want to take full advantage of Lisp I would recommend you use hash tables and reader macros. There's also plenty of mature (by lisp standards anyway) SQL APIs and ORMs like postmodern[3]. - For hosting I use AWS, haven't used anything else so can't say much on it. [1] https://github.com/fukamachi/clack [2] https://github.com/fukamachi/ningle [3]
Read the rest
In Ask HN: Learning Lisp, and I have some questions
I also use lisp for web development, and want to second this: > There is no fixed stack, though people want to make you believe there is. My stack: I use parenscript[5] fairly heavily (to the point where I'm now a contributor). Note that parenscript is mostly javascript semantics with lisp syntax, but macros for it are written in common-lisp, which makes a lot of the javascript annoyances go away. Like jlg23, I use cl-who for html generation. I spent a while experimenting with css generation, but now just use something prepackaged (currently Pure[1]). If I had need for a custom look, I would pay someone who knows graphic design to generate a layout, and I'd code to that. I've rotated between several JSON libraries to the point that I couldn't say which one I used for my last project; for JSON I'm very opinionated on the proper mapping f
Read the rest
rom JS types to lisp, and none of the libraries do the Right Thing out of the box, so I wrap them with something that will. As users expect something less like "fill out a form and hit submit" and more like "Instantly responsive web application that saves my work as I go" I started experimenting with using parenscript with various JS application libraries. I found React to be okay[2], but much prefer the simplicity of Mithril[3]. For webserver, I use clack[4] which is in roughly the same space as WSGI is for python or Ring is for clojure. It is sadly severely lacking in documentation (at least in English). A clack tutorial is on my "todo" list. I happen to run clack behind mongrel2, but that's because it's the server I'm most familiar with; it has backends for FastCGI and several native lisp web servers, and adding new backends is very easy (the mongrel2 backend is under 200 lines of code). For a database I use postmodern[6] (a library for pgsql) and I use cl-redis[7] for quick & dirty projects, as a key/value store tends to make for more rapid prototyping. 1: http://purecss.io/ 2: https://github.com/jasom/parenscriptx 3: https://github.com/jasom/parenscriptm 4: https://github.com/fukamachi/clack 5: https://common-lisp.net/project/parenscript/ 6: http://marijnhaverbeke.nl/postmodern/ 7: https://github.com/vseloved/cl-redis
In Practical Common Lisp (2005)
Framework: Caveman2[0] or Ningle[1], which run on Clack[2] (like Rack/WSGI), which supports five backend servers. Templates: Djula[3], closure-template[4]. ORM: Crane[5], Postmodern[6]. [0] https://github.com/fukamachi/caveman [1] https://github.com/fukamachi/ningle [2] https://github.com/fukamachi/clack [3] https://github.com/mmontone/djula [4] https://github.com/archimag/cl-closure-template [5] https://github.com/eudoxia0/crane [6] http://marijnhaverbeke.nl/postmodern/
In Why Racket? Why Lisp?
"The most popular web server for CL, Hunchentoot hasn't been touched (based on the darcs repo anyway) since Tue, 24 Aug 2010." That statement is just untrue, take a look yourself. https://github.com/edicl/hunchentoot/commits/master Also there is an active community in Japan from what I can gather from github.com They done cl-annot[1], which is a way to annotate functions with the @ syntax from python. Clack[2], the WSGI-equivalent for cl. And the Caveman[3] and Ningle[4] webframeworks. [1]: https://github.com/arielnetworks/cl-annot [2]: https://github.com/fukamachi/clack [3]: https://github.com/fukamachi/caveman [4]: https://github.com/fukamachi/ningle
In Mocl: Common Lisp for iPhone/iOS, Android, and other mobile platforms

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.