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
    L

    Lisperator

    lisperator.net · Personal blog · on HN since 2012

    Mihai Bazon, author of UglifyJS, writes about Lisp, language implementation in JavaScript, and his Slip Lisp system.

    Visit blogRSSHN submissions
    Languages & CompilersProgrammingWeb Development
    What HN says

    HN commenters recommend his tutorial on implementing a programming language in JavaScript, and note he is a Lisp enthusiast whose blog runs on Common Lisp.

    Stats for nerds
    32HN people shared it
    24linked in comments
    413story points
    Jan 2026last shared
    2012people per year2026

    Top posts on HN

    1. 1
      How to implement a programming language in JavaScript
      10 people · 267 points · first shared 2014 · 38 comments on HN
    2. 2
      Why Lisp?
      3 people · 101 points · first shared 2012 · 69 comments on HN
    3. 3
      Slip – A Lisp System in the Browser
      1 person · 12 points · first shared 2025 · 1 comments on HN
    4. 4
      Slip – A Lisp System in JavaScript
      7 people · 10 points · first shared 2012 · 1 comments on HN
    5. 5
      Pull Request Based Development Sucks
      2 people · 7 points · first shared 2017 · 1 comments on HN
    6. 6
      Thoughts on CommonJS / RequireJS
      2 people · 3 points · first shared 2013 · Discussion on HN
    7. 7
      A JavaScript Sudoku Solver
      1 person · 3 points · first shared 2022 · 1 comments on HN
    8. 8
      Ymacs Reloaded: Emacs-like editor in the browser
      2 people · 2 points · first shared 2024 · Discussion on HN
    9. 9
      Sytes is the PHP of Common Lisp
      1 person · 2 points · first shared 2012 · 1 comments on HN
    10. 10
      Should you switch to UglifyJS2?
      1 person · 2 points · first shared 2013 · Discussion on HN

    What HN people wrote when they linked it

    • mnemonikSep 2012

      I just want to note that the new CoffeeScript compiler is using ESCodeGen as a backend, which is doing the source map heavy lifting. Anyone writing a compiler which targets JS can use ESCodeGen as a backend and get source maps pretty much for free. Awesome news all around!

      https://github.com/Constellation/escodegen

      Note: I do not want it to seem like I want to take anything away from Michael Ficarra and the new CoffeeScript compiler. He also wrote the code to integrate source maps with ESCodeGen, but it is something that many projects will be able to take advantage of, not just CoffeeScript.

      In other source map news, if anyone hasn't seen it yet, UglifyJS v2 now supports source maps: http://lisperator.net/blog/uglifyjs-v2-news/

      Source map support is on the way for Firefox's debugger as well: https://bugzilla.mozilla.org/show_bug.cgi?id=771597

    • mdanielOct 2022

      That was a super interesting link, thank you.

      For the ontological problem, I presume you're referring to how there are so many differing ideas of how to represent ASTs (apologies for mixing languages, these URLs were just handy):

      * https://lisperator.net/uglifyjs/ast#nodes

      * https://github.com/estree/estree#the-estree-spec

      * ... likely others

      which makes it hard for ls1 to ask ls2 about "the for-of iteration variable Node" because ls2 could be using UglifyJS or ESTree or their own(!) AST nomenclature?

      And all of this is made worse by (e.g.) Java1.3 versus Java19 because languages are rarely static

    • lgasMar 2014

      Googling turned up several on just the first page of results:

      http://www.biwascheme.org/

      http://sisc-scheme.org/sisc-online.php

      http://lisperator.net/slip/

      http://alex.nisnevich.com/ecmachine/

      But the parent is really the right answer -- ClojureScript is actually targeted at meeting modern web development challenges and has a thriving ecosystem of powerful tools for the same.

    • mishooMar 2017

      I wrote some time back a tutorial on this: http://lisperator.net/pltut/ — but the implementation language is JS, and the language we implement is quite trivial (no objects, inheritance etc.; but does have lexical scope, first-class functions and continuations).

      I think Java is ugly, but putting this knowledge in an accessible book is great. Typography is also very nice.

    • SurioJan 2013

      Mihai Bazon (of uglify.js fame) is also a big time lisper. His entire blog is powered by Common LISP. Check it out. AFAIR, he developed a browser based SLIME environment too

      http://lisperator.net/

    • aikahJun 2015

      I like this article:

      http://lisperator.net/pltut/

      it's in javascript and does a good job at teaching writing interpreters withtout regex tricks. There is even a compiler tutorial at the end.

    Related

    Applied Languageapplied-langua.ge20 people

    Zero Feet: a proposal for a systems-free Lisp

    Applied Language
    Personal · last shared 2026
    Yogthosyogthos.net45 people

    Why I'm Productive in Clojure (2013)

    Yogthos
    Personal · last shared 2026
    Adam Tornhilladamtornhill.com25 people

    Code quality only matters in context (2019)

    Adam Tornhill
    Personal · last shared 2026
    Brian Carperbriancarper.net48 people

    Making an RPG in Clojure (2010)

    Brian Carper
    Personal · last shared 2017
    Mark Tarverlambdassociates.org88 people

    The Bipolar Lisp Programmer

    Mark Tarver
    Personal · last shared 2022
    Ron Garretflownet.com128 people

    Lisping at JPL (2002)

    Ron Garret
    Personal · last shared 2026
    Arne Babenhauserheidedraketo.de59 people

    Wisp: Whitespace to Lisp

    Arne Babenhauserheide
    Personal · last shared 2026
    matkladmatklad.github.io237 people

    Architecture.md

    matklad
    Personal · last shared 2026