Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    C

    ClojureScript News

    clojurescript.org · Company blog · on HN since 2016

    The official ClojureScript site and news page covers releases, JavaScript tooling integration, and differences from Clojure.

    Visit blogHN submissions
    Languages & CompilersWeb DevelopmentProgramming
    What HN says

    Commenters recommend ClojureScript as a Lisp option that compiles to JavaScript for the browser, though it ships a large runtime.

    Stats for nerds
    59HN people shared it
    25linked in comments
    1.2Kstory points
    May 2026last shared
    2016people per year2026

    Top posts on HN

    1. 1
      ClojureScript 1.10.741
      1 person · 265 points · first shared 2020 · 67 comments on HN
    2. 2
      ClojureScript 1.12.42
      1 person · 195 points · first shared 2025 · 42 comments on HN
    3. 3
      ClojureScript Is Not An Island: Integrating Node Modules
      2 people · 193 points · first shared 2017 · 42 comments on HN
    4. 4
      ClojureScript 1.10.844
      1 person · 178 points · first shared 2021 · 72 comments on HN
    5. 5
      ClojureScript 1.10.866 Release
      1 person · 152 points · first shared 2021 · 42 comments on HN
    6. 6
      ClojureScript: Graal.js REPL Environment
      1 person · 137 points · first shared 2019 · 15 comments on HN
    7. 7
      Using JavaScript Modules in ClojureScript
      2 people · 55 points · first shared 2017 · 10 comments on HN
    8. 8
      New ClojureScript.org website
      20 people · 11 points · first shared 2016 · Discussion on HN
    9. 9
      ClojureScript Sneak Preview: Enhanced Code Splitting and Loading
      2 people · 5 points · first shared 2017 · Discussion on HN
    10. 10
      ClojureScript – Embracing JavaScript Tools
      6 people · 4 points · first shared 2020 · Discussion on HN

    What HN people wrote when they linked it

    • clartaqJan 2019

      I'm surprised by how often questions like this come up, but I always find the responses interesting and educational.

      * What I Want *

      Non-negotiable items include:

      - Low Friction: A little initial setup is ok, but just taking a note should require no more than a click or two (whether clicking a mouse or a pen).
      - Open source.
      - Aesthetically Pleasing: I'm tired of looking at ugly stuff.
      - Has to handle LaTex.
      - Has to handle syntax highlighted code listings.
      - Notes are in an easily portable format.
      - Organization Tools: Some sort of organizational ability. I have thousands of notes that I use and need to refer back to all the time.
      - Privacy: No sending my personal information to someone else's server.

      Negotiable:

      - Mobile Friendly: My eyesight isn't good enough to use a phone for note-taking or reading. Tablets are Ok. Desktop is best for me.
      - Implementation Language: Since I'm looking for an open source solution, I'd like it to be in a language that I like. In my case, Clojure/ClojureScript, Lisp, Scheme (Racket) would be optimal. JavaScript is least desired.
      - Minimal dependencies: I'd prefer that it not be based on Node, NPM, Electron, Atom, or any other huge ecosystem that would have to be installed on my system. (Java is Ok with me, obviously.)
      Scriptability: It would be nice if it could help automate my workflow.

      * What I Have Tried *

      - Long ago (2005) I started a job at which the company provided me with a stylus-based, Windows tablet PC. Included was a copy…

    • swannodetteMay 2021

      Some technical points about Krell. It leverages the ClojureScript `:bundle` target which was released last year https://clojurescript.org/news/2020-04-24-bundle-target. By simply producing output that is JS bundler friendly we can just piggieback on Facebook's Metro just like we piggieback on Webpack etc. when targeting the web.

      We simply reuse the debug loader provided by Google Closure and load ClojureScript and Google Closure JavaScript files through the Metro server. But this is the core of ClojureScript's hot-reloading capabilities without caveats. In Google Closure namespaces can be represented as nested JavaScript objects which delivers pervasive late-binding - which simply cannot be done with ES6 modules because imports will be captured (early bound).

      The REPL bit (which is an independent piece from the hot-reloader) just runs on top of react-native-tcp-socket.

      The only tricky part is that we need to be able to require Node libraries and assets into ClojureScript during development. This is done by a compiler pass - first we start at the entry point of the ClojureScript React Native project and follow the dep graph collecting all libraries required from `node_modules`. This is dumped to a file that is required transitively by `index.js`.

      Asset handling is done as a simple compiler pass over every AST node searching for JavaScript `require` statements in the ClojureScript.

      The end result is that we have an extremely rapid development workflow that simply is not…

    • jrandmDec 2021

      My biggest pointer would be to remember that Java & JavaScript aren't named that way by coincidence. They're two different approaches to a similar problem. Java suffers from Enterprise Development (eg: Enterprise FizzBuzz[0]), JavaScript suffers from Ultimate Accessibility (eg: how many questions on Stack Overflow conflated jQuery and JS?).

      > How should exceptions be managed? [...] Has there been a debate about best practice? Where can I find it?

      I suggest you handle the errors you can and otherwise let it crash.[1][2] Debates in NodeJS-land have steered towards more monadic/Result-like structures and working synchronous-looking try/catch onto async/await. NodeJS and its various components are open source, you'll have a lot of luck looking around on GH for issues & PRs related to a feature -- same for the language, ECMAScript[3] officially.[4]

      Since you mentioned Clojure, have you looked at ClojureScript?[5] That may be a good entry to JS authors & articles you'd enjoy.

      > I have the impression that NodeJS is a bit more magical than the JVM [...] Is that correct? Where are good resources on this subject?

      As other replies have mentioned, you're really talking about V8[6] for the "JSVM" executing that code. A thing I've seen throw some people for a loop is how minimalist the specification actually is.[7] The magic in NodeJS is certainly from V8 and the rate of optimizations there but also libuv,[8] what actually powers the infamous event loop.

      Hope that helps!

      [0]:…

    • perrygeoSep 2022

      Similar experience here. My first Clojure(script) projects used leiningen, now everything is deps.edn and the clojure CLI. Cool, changes happen. But editor integration, REPL tooling, even which compiler to use, etc are not consistent either. The tooling is changing everywhere and bit rot has claimed almost all of my past projects. The code is still 100% compatible but the build system is just broken. I've given up trying to port any projects over - it's easier to generate scaffolding for a new project in the tool-du-jour and move the actual code into that structure.

      Since there is no obvious right way, there's little consistency between projects - which means you're likely to follow the wrong path if you follow the wrong README or pick an outdated starter template. This forces developers to make a ton of orthogonal choices up front before they even begin coding.

      Case in point: https://clojurescript.org/tools/tools lists 4 different build tools without any explanation as to how they relate or why you might pick one over the other. But don't worry, you'll find out after days of tedious research!

      If Clojure had a consistent out-of-the-box experience like Go or Rust, I think it could rule the world. It's a great language but the developer experience is a serious impediment to that.

    • darksaintsOct 2017

      There is a significant amount of divergence in semantics. I’m not sure why you would try to convince anyone otherwise...the clojurescript developers acknowledge this completely upfront.

      https://clojurescript.org/about/differences

      In my experience, all of the stated benefits of clojurescript become more and more tenuous as your intensity of use increases. Hello world seems fantastic, todomvc still seems pretty cool, but by the time you’re doing full size apps of meaningful complexity, you really start to see the limitations. In order to get any meaningful performance out of it, I ended up having to rewrite and experiment like crazy...the code looked like nothing I would have written in Clojure, using completely different idioms and data structures. And while the prototyping was fast, in the end it took me far longer to write and then iteratively optimize than it would have to write an equivalently fast version in scalajs or typescript. Maybe your experience is different, but my experience is my experience, and it most definitely is not baseless.

    • pkaFeb 2018

      > If anyone has advice on how someone who prefers rigour, simplicity, elegance, and decent PL design over the latest trend should approach web dev that would be massively helpful

      Sounds like Elm [0] (pure, functional, very very easy to start with but lacks abstractions), Purescript [1] (pure, functional, powerful, the best language for the web right now, imo) or ReasonML [2] (functional but impure, familiar syntax, focused on pragmatism) would be right up your alley.

      If you're ok with a dynamic language (i.e. strike rigour), then look no further than Clojurescript [3], Clojure's [4] little web brother. An elegant and simple Lisp, it makes almost all other dynamic languages completely obsolete.

      There most definitely are sane options for developing for the web if one is willing to use a compile-to-js language.

      [0] http://elm-lang.org

      [1] http://www.purescript.org

      [2] https://reasonml.github.io

      [3] https://clojurescript.org

      [4] https://clojure.org

    Related

    Solita Dev Blogdev.solita.fi21 people

    Taming Advanced Compilation bugs in ClojureScript projects

    Solita Dev Blog
    Company · last shared 2022
    Dragan Djuricdragan.rocks30 people

    Clojure Linear Algebra Refresher: Eigenvalues and Eigenvectors

    Dragan Djuric
    Personal · last shared 2025
    dosyncdosync.posterous.com15 people

    Comparing JavaScript, CoffeeScript & ClojureScript

    dosync
    Personal · last shared 2012
    Rust Blogblog.rust-lang.org533 people

    Announcing Rust 1.0

    Rust Blog
    Company · last shared 2026
    David Nolenswannodette.github.io98 people

    The Future of JavaScript MVCs

    David Nolen
    Personal · last shared 2025
    Node.js Blogblog.nodejs.org97 people

    Node.js v0.8.0 [stable] is out

    Node.js Blog
    Company · last shared 2015
    DailyJSdailyjs.com112 people

    Backbone.js: Hacker's Guide

    DailyJS
    Publication · last shared 2017
    Dart Newsnews.dartlang.org76 people

    “We have decided not to integrate the Dart VM into Chrome”

    Dart News
    Company · last shared 2024