HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
mmcgrana
ring
Clojure2010–2012
mmcgrana / ring

ring

Clojure web application library: abstracts HTTP to allow modular and concise webapps

8Distinct people
10Mentions
0Explicit recommenders
846GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Clojure web application library: abstracts HTTP to allow modular and concise webapps

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 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 2:59:58 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 month10 dated mentions

Observed mentions: 2010-05-11 22:31:22 UTC to 2012-05-24 08:28:17 UTC.

01232010-05-01 00:00:00 UTC to 2010-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMay 20102010-06-01 00:00:00 UTC to 2010-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2010-07-01 00:00:00 UTC to 2010-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2010-08-01 00:00:00 UTC to 2010-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2010-09-01 00:00:00 UTC to 2010-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2010-10-01 00:00:00 UTC to 2010-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2010-11-01 00:00:00 UTC to 2010-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2010-12-01 00:00:00 UTC to 2011-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-01-01 00:00:00 UTC to 2011-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-02-01 00:00:00 UTC to 2011-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-03-01 00:00:00 UTC to 2011-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-04-01 00:00:00 UTC to 2011-05-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2011-05-01 00:00:00 UTC to 2011-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMay 20112011-06-01 00:00:00 UTC to 2011-07-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2011-07-01 00:00:00 UTC to 2011-08-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2011-08-01 00:00:00 UTC to 2011-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-09-01 00:00:00 UTC to 2011-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-10-01 00:00:00 UTC to 2011-11-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2011-11-01 00:00:00 UTC to 2011-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-12-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-01-01 00:00:00 UTC to 2012-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-02-01 00:00:00 UTC to 2012-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-03-01 00:00:00 UTC to 2012-04-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2012-04-01 00:00:00 UTC to 2012-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2012-05-01 00:00:00 UTC to 2012-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMay 2012

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
May 20102010-05-01 00:00:00 UTC2010-06-01 00:00:00 UTC101
Jun 20102010-06-01 00:00:00 UTC2010-07-01 00:00:00 UTC000
Jul 20102010-07-01 00:00:00 UTC2010-08-01 00:00:00 UTC000
Aug 20102010-08-01 00:00:00 UTC2010-09-01 00:00:00 UTC000
Sep 20102010-09-01 00:00:00 UTC2010-10-01 00:00:00 UTC000
Oct 20102010-10-01 00:00:00 UTC2010-11-01 00:00:00 UTC000
Nov 20102010-11-01 00:00:00 UTC2010-12-01 00:00:00 UTC000
Dec 20102010-12-01 00:00:00 UTC2011-01-01 00:00:00 UTC000
Jan 20112011-01-01 00:00:00 UTC2011-02-01 00:00:00 UTC000
Feb 20112011-02-01 00:00:00 UTC2011-03-01 00:00:00 UTC000
Mar 20112011-03-01 00:00:00 UTC2011-04-01 00:00:00 UTC000
Apr 20112011-04-01 00:00:00 UTC2011-05-01 00:00:00 UTC101
May 20112011-05-01 00:00:00 UTC2011-06-01 00:00:00 UTC101
Jun 20112011-06-01 00:00:00 UTC2011-07-01 00:00:00 UTC101
Jul 20112011-07-01 00:00:00 UTC2011-08-01 00:00:00 UTC303
Aug 20112011-08-01 00:00:00 UTC2011-09-01 00:00:00 UTC000
Sep 20112011-09-01 00:00:00 UTC2011-10-01 00:00:00 UTC000
Oct 20112011-10-01 00:00:00 UTC2011-11-01 00:00:00 UTC101
Nov 20112011-11-01 00:00:00 UTC2011-12-01 00:00:00 UTC000
Dec 20112011-12-01 00:00:00 UTC2012-01-01 00:00:00 UTC000
Jan 20122012-01-01 00:00:00 UTC2012-02-01 00:00:00 UTC000
Feb 20122012-02-01 00:00:00 UTC2012-03-01 00:00:00 UTC000
Mar 20122012-03-01 00:00:00 UTC2012-04-01 00:00:00 UTC101
Apr 20122012-04-01 00:00:00 UTC2012-05-01 00:00:00 UTC000
May 20122012-05-01 00:00:00 UTC2012-06-01 00:00:00 UTC101

What Hacker News says

1 sources
Regarding Clojure, while compojure is popular, a compojure centric view of web programming is misguided. Compojure is part of a growing ecosystem of libraries built on top of ring[1][2]. Firstly this ecosystem is not analogous to rails or django. The closest is that Compojure is similar to Sinatra i believe. If you are looking at getting started with web programming in Clojure you need to get familiar with ring (the http abstraction) and look at Compojure and Moustache (routing and handler composition), and Enlive[4] and Hiccup[5] (templating/html generation). Compojure and Moustache are fairly similar, but Enlive and Hiccup are extremely different. A web application will consist of ring plus one of each layer. As has been mentioned by others in this thread, the depth, breadth and currentness of documentation for these libraries varies. D
Read the rest
avid Nolen has a great tutorial for enlive[6] that i would encourage anyone looking at these libs to work through. Enlive is one of the most compelling aspects of the clojure web ecosystem at present. These libraries provide the core pieces you would expect to see in any web framework, but a lot of the smaller details are missing. Of note there is no ORM for clojure (for obvious reasons) - If you are looking for a good SQL abstraction you should look at ClojureQL[7] - and aspects such as form generation, validation and processing is still in early days. My day job has me building web apps with Django. I wouldnt suggest that my coworkers and I jump to clojure / ring et al yet. The breadth of libraries and out of the box stuff in django is still a huge advantage for the day to day rapid web site / web app development, however clojure's story is improving rapidly and i think that the functional model is a particularly good fit for web applications. I cannot compare clojure's story with the other languages and frameworks mentioned. [1] https://github.com/mmcgrana/ring/ [2] This is true of compojure 0.4 and newer. compojure existed prior to ring (with hiccup as part of it). [3] https://github.com/cgrand/moustache [4] https://github.com/cgrand/enlive [5] https://github.com/weavejester/hiccup [6] There is a link in the enlive readme [7] https://github.com/LauJensen/clojureql/
In Ask HN: Snap v Nitrogen v Lift v Compojure

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.