HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
clojure
clojurescript
Clojure2011–2026
clojure / clojurescript

clojurescript

Clojure to JS compiler

74Distinct people
88Mentions
1Explicit recommenders
9.4KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Clojure to JS compiler

GitHub

Where it is used

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

What people are saying

I love this trend of building compilers for existing languages that target Javascript. Other 2 languages with fully functional Javascript compilers that are worth checking out:…

bad_user 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

No other repository is repeatedly linked in the same discussions.

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:56:56 AM 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 year88 dated mentions

Observed mentions: 2011-07-20 23:29:35 UTC to 2026-03-08 18:00:50 UTC.

051015202011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 13 mentions; 4 submissions, 9 comments20112012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 16 mentions; 1 submissions, 15 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 22 mentions; 4 submissions, 18 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 8 mentions; 1 submissions, 7 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 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): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

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
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC1349
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC16115
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC707
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC808
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC22418
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC817
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 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC505
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 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC211
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC110

From the project README

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

Read the project’s introduction
What is ClojureScript? ClojureScript is a compiler for Clojure that targets JavaScript. It is designed to emit JavaScript code which is compatible with the advanced compilation mode of the Google Closure optimizing compiler. Official web site: https://clojurescript.org Releases and dependency information Latest stable release: 1.12.145 All released versions Clojure deps.edn dependency information: org.clojure/clojurescript {:mvn/version "1.12.145"} Leiningen dependency information: [org.clojure/clojurescript "1.12.145"] Maven dependency information: <dependency> <groupId>org.clojure</groupId> <artifactId>clojurescript</artifactId> <version>1.12.145</version> </dependency> Getting Started Read the Quick Start guide. Read the Documentation. Try a tutorial. Companies using ClojureScript Questions, Feedback? Please point all of your questions and feedback to the Clojure mailing list. There is a community run ClojureScript user mailing list and the IRC channel, #clojurescript on freenode.net, is quite active. There is also a community run Slack channel. The Jira bug/feature tracking application is located at https://clojure.atlassian.net/browse/CLJS. Before submitting issues please read the Reporting Issues page first. Developers Welcome ClojureScript operates under the same license as Clojure. All contributors must have a signed CA (Contributor's Agreement) and submit their patch via the appropriate channels. If you're interested in contributing to the project, please see the contributing page on clojure.org. For more information about working on the compiler and testing check the Developer section of the wiki. YourKit YourKit has given an open source license for their profiler, greatly simplifying the profiling of ClojureScript performance. YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications. License Copyright (c) Rich Hickey. All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 1.0 (https://opensource.org/license/epl-1-0/) which can be found in the file epl-v10.html at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.
Read the full README on GitHub

What Hacker News says

88 sources
Mostly a maintenance release, but the and/or compiler pass thing is somewhat neat. First, it might seem that such an optimization would not be that useful, but actually it's one of the most critical ones - we want to write the persistent data structure code in a language idiomatic way yet know that performance sensitive JavaScript code will be generated. Here's the problem. In Clojure `and` and `or` are just macros that expand to `let` + `if`, simple and elegant: (defmacro and ([] true) ([x] x) ([x & next] `(let [and# ~x] (if and# (and ~@next) and#)))) ... except when you target JavaScript - which is not an expression oriented language. So `let` will be wrapped in an immediately invoked function expression (IIFE). Google Closure does elide these when it can, but it will give up after only a few leve
Read the rest
ls of nesting. For an IIFE to appear in the middle of a conditional is a performance killer. Another complication is that it's not safe to just use `&&` and `||` blindly because of `0` and the empty string and the other cases which are not false-y in Clojure(Script). Checks for JavaScript false-y values are a performance killer. So years ago we implemented a simple form of type inference which annotates the AST with type information as a compiler pass on every node when possible. As long we know the JavaScript `if` will receive a boolean value we can elide the JS false-y value check. But this is also exactly the information we need to safely run a following pass that looks for the above and/or syntactical patterns and optimize it. As long as each nested `if` is guaranteed to return a boolean, we can remove the local and use `&&` or `||` instead. The and/or optimization pass ended up being ~120 lines of code with no actual dependencies on anything else in the ClojureScript analyzer or compiler because the ClojureScript AST is just plain EDN - https://github.com/clojure/clojurescript/blob/master/src/mai... Happy to answer any further questions about this! UPDATE: Also ClojureScript turned 10 years old this month :)
In ClojureScript 1.10.866 Release
The 'Try it online' link on ClojureScript's Github page is broken, not sure if that service is still online. https://github.com/clojure/clojurescript The Tools page under ClojureScript site doesn't mention Sublime Text 3 or VS Code at all (in typing this I realize Emacs would probably be the most common editor while working with a lisp like Clojure...). https://clojurescript.org/tools/repls LightTable hasn't been updated in forever, but they're cognizant of that and are working on it. Clojure on Windows is apparently still in alpha state. Out of curiosity, do you work on Mac or Linux? https://github.com/clojure/tools.deps.alpha/wiki/clj-on-Wind... The repl.it Clojure instance is very old, but that's not unique to Clojure. Clojure looks to be a very good language, and I enjoyed playing with it a few years ago, and I understand it's improv
Read the rest
ed a lot since then, especially in error handling, which is why I bounced off back then. I was just worried it was more like Objective-C (an apparently declining language with a clear successor) than Rust (a small but passionate community). Good to hear it's still going strong!
In Show HN: Easy intro book to Clojure and immutability
I'm curious - how hard have you looked? There are lists with clojure success stories [0] [1] [2] and quite a few companies hiring clojure devs [0] [3] [4]. Anecdotally, there are 5 startups within a 1 mile radius of my office (in Charlottesville, VA) whose primary stack is clojure. [0] https://clojure.org/community/success_stories [1] https://news.ycombinator.com/item?id=14302762&__s=r8nvw64mp3... [2] https://github.com/clojure/clojurescript/wiki/Companies-Usin... [3] https://www.indeed.com/q-Clojure-jobs.html [4] http://hnhiring.me/ (search "Clojure", top right)
In Problem Solving and Clojure 1.9 with Rich Hickey

Showing the 15 most recent of 88 sources. Enable JavaScript to search and browse every indexed mention.

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.