HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
technomancy
leiningen
Clojure2009–2022
technomancy / leiningen

leiningen

Moved to Codeberg; this is a temporary convenience mirror

52Distinct people
66Mentions
1Explicit recommenders
7.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Moved to Codeberg; this is a temporary convenience mirror

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Have you looked at Clojure? [Huge ramble to follow] Clojure is a particularly interesting functional language for a python programmer IMO. It shares a number of asthetic and…

brehaut used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

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, 11:23:53 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 year66 dated mentions

Observed mentions: 2009-11-14 15:59:06 UTC to 2022-07-30 21:00:34 UTC.

0510152009-01-01 00:00:00 UTC to 2010-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments20092010-01-01 00:00:00 UTC to 2011-01-01 00:00:00 UTC (exclusive): 16 mentions; 2 submissions, 14 comments2011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 11 mentions; 0 submissions, 11 comments2012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 10 mentions; 2 submissions, 8 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 9 mentions; 3 submissions, 6 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments20152016-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): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 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): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022

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
20092009-01-01 00:00:00 UTC2010-01-01 00:00:00 UTC422
20102010-01-01 00:00:00 UTC2011-01-01 00:00:00 UTC16214
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC11011
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC1028
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC936
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC514
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC312
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 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC303
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC211
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 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Hello Github User! The Leiningen project has moved the repository off Github. Please switch your git remotes over to https://codeberg.org/leiningen/leiningen Codeberg works just like Github, and you can even use your Github account to log in there, but it is operated like a user-owned cooperative with a democratic governance model instead of being an extractive arm of an unaccountable abusive megacorp. As usual, you can join the #leiningen IRC channel on Libera.Chat to discuss issues. Any use of this project's code by Github Copilot, past or present, is done without our permission. We do not consent to use of this project's data in training Copilot or any other language model. Packagers' note: if you are a downstream maintainer whose scripts download the Leiningen uberjar, we will continue to host those on Github in order to reduce the load on Codeberg. However, the uberjars are the only thing that will continue to be updated here. For your consideration I get it, Github is what everyone uses. But it's never been a good idea to allow one company to have a monopoly, and it's an even worse idea when that company has a history of abusing their monopoly. If you haven't taken a look at Github alternatives, now's a great time to evaluate a new home for your project! If you took a look at Gitlab a few years ago and were put off by its clunkiness and bugs, you should know that there are much better alternatives now. Codeberg is perhaps the most polished alternative, but Sourcehut is also quite nice for minimalists, and if you're adventurous you could try running your own Forgejo. Or maybe you don't even need a forge?
Read the full README on GitHub

What Hacker News says

9 sources
Q: What does java.lang.NoSuchMethodError: clojure.lang.RestFn.<init>(I)V mean? A: It means you have some code that was AOT (ahead-of-time) compiled with a different version of Clojure than the one you're currently using. If it persists after running lein clean then it is a problem with your dependencies. Note that for your own project that AOT compilation in Clojure is much less important than it is in other languages. There are a few language-level features that must be AOT-compiled to work, generally for Java interop. If you are not using any of these features, you should not AOT-compile your project if other projects may depend upon it. https://github.com/technomancy/leiningen/blob/stable/doc/FAQ...
In Horses for courses: choosing Scala or Clojure
> ...has been standard advice since decades before Clojure. Yes, but we're in a thread dedicated to Clojure ;) > "Macros make things horribly complicated" is nonsense, or no skilled programmer would use them. Which is what happens, really, and when used it's in a very limited fashion. For example, for quite popular projects inside the Clojure community: Leiningen used one macro[1] and Compojure two[2]. A properly done (and properly used) macro might not make things complicated, but this leads me to the next paragraph. > ease of debugging is an issue quite apart from anything to do with macros. It's usually hard, but macros make it HORRIBLE since you can easily lost track of the generated code. Like if translating from Clojure to Java Stack Traces wasn't hard enough... Whenever you use a macro, the stack traces you receive from the code us
Read the rest
ing it might not like like what you expect at all. Macros are bad because they mutate your code. You usually have to expand the macro and debug there instead of just looking at your damn code. The big problem is not macros, but code which uses macros. [1] https://github.com/technomancy/leiningen/search?q=defmacro&r... [2]https://github.com/weavejester/compojure/search?q=defmacro&r...
In Why I am so excited about Clojure
I'm a Mac person myself, but use windows for work and have leiningen and clojure running fine. I just used the batch file from the leiningen github to get up and running on windows. Someone else brought up the point that lein needs wget or curl, and that isn't something that is installed by default on windows. I happened to already have them, so I never thought much about it. GNU has a version of wget and maybe curl too for win32. And there is always cygwin if you like. https://github.com/technomancy/leiningen http://gnuwin32.sourceforge.net/packages/wget.htm
In Getting Started With Clojure
I didn't know about clojure-toolbox. That's pretty neat. One thing though, regarding this page, is that you don't need to install clojure with brew. Leiningen takes care of all that... clojure is just a jar that's included in your project, aka a dependency, and Leiningen manages that. This lets you tie a specific version of clojure to that project, which is handy for some legacy projects that aren't maintained anymore. Also, if you drop the brew references, then this becomes OS agnostic. Just go to the leiningen page on github[1] and it'll get you started: osx, windows, linux. I develop with clojure on my mac and I've not brewed anything related to clojure. [1] https://github.com/technomancy/leiningen
In Getting Started With Clojure

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.