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.
What HN saysHN commenters recommend his tutorial on implementing a programming language in JavaScript, and note he is a Lisp enthusiast whose blog runs on Common Lisp.
32HN people shared it
11linked it in comments
24stories submitted
413story points
10 months agolast shared
2012people per year2026
Most-shared posts
- 1How to implement a programming language in JavaScript10 people · 267 points · first shared 2014 · 38 comments on HN
- 2Slip – A Lisp System in JavaScript7 people · 10 points · first shared 2012 · 1 comments on HN
- 3Why Lisp?3 people · 101 points · first shared 2012 · 69 comments on HN
- 4Pull Request Based Development Sucks2 people · 7 points · first shared 2017 · 1 comments on HN
- 5Thoughts on CommonJS / RequireJS2 people · 3 points · first shared 2013 · discussion on HN
- 6Ymacs Reloaded: Emacs-like editor in the browser2 people · 2 points · first shared 2024 · discussion on HN
- 7Slip2 people · first shared 2025
- 8Slip – A Lisp System in the Browser1 people · 12 points · first shared 2025 · 1 comments on HN
- 9A JavaScript Sudoku Solver1 people · 3 points · first shared 2022 · 1 comments on HN
- 10Should you switch to UglifyJS2?1 people · 2 points · first shared 2013 · discussion on HN
- 11Sytes is the PHP of Common Lisp1 people · 2 points · first shared 2012 · 1 comments on HN
- 12QUEEN, chess, and writing fast Lisp code1 people · 2 points · first shared 2016 · discussion on HN
- 13BareText - Nice Alternative to Markdown etc.1 people · 1 points · first shared 2012 · discussion on HN
- 14A little JavaScript problem1 people · 1 points · first shared 2017 · discussion on HN
- 15Ast1 people · first shared 2022
What HN people wrote when they linked it
jayflux · 2018-01-22
if anyone found this interesting, i recommend reading http://lisperator.net/pltut/
It called "How to implement a programming language" its in JS and its made by the guy who's behind uglifyJS
dejawu · 2017-09-05
I'm building a language right now and I found this tutorial to be a great help: http://lisperator.net/pltut/
Here's the language I'm building: https://github.com/kevwu/kythera
mishoo · 2017-03-20
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.
Surio · 2013-01-01
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/
kscarlet · 2026-01-08
Very nice.
p.s. (I hate to point this out), there seems to be a name collision with https://lisperator.net/slip/
mdaniel · 2022-10-23
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
aikah · 2015-06-15
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.
lgas · 2014-03-01
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.
mnemonik · 2012-09-08
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
gjvc · 2025-10-10
live demo at https://lisperator.net/s/slip/
camus2 · 2017-02-09
Mandatory link to lisperator :
http://lisperator.net/pltut/