kanaka/mal
View on GitHub ↗ ★ 10,756 Assembly
mal - Make a Lisp
128 mentions on Hacker News by 80 people: 13 stories, 115 comments · first 2015-02-27 · latest 2026-07-17
20082026
-
I've always found MAL ("Make-A-Lisp" https://github.com/kanaka/mal ) a bit more approachable, probably because I was out after creating my own programming language before I've written much Python. It's language agnostic, and really easy to…
comment by embedding-shape · 2026-06-21 · in (How to Write a (Lisp) Interpreter (In Python)) (2010) -
Well there's Make a Lisp [0]. And Lispy [1] and Lispy2 and Lisp.py [3]. [0] https://github.com/kanaka/mal [1] https://norvig.com/lispy.html [2] https://norvig.com/lispy2.html [3] https://khamidou.com/compilers/lisp.py
comment by quibono · 2026-05-29 · in Don't Build Your Own Lisp -
MAL is pretty good, albeit less hand-holding: https://github.com/kanaka/mal Writing a Lisp in Ocaml: https://bernsteinbear.com/blog/lisp/00_fundamentals/ Not Lisp-specific but Crafting Interpreters is also great:…
comment by cardanome · 2025-08-05 · in Build Your Own Lisp -
…details but gives you freedom to use different languages, and yet still provide a rough blueprint: https://github.com/kanaka/mal Discussed here, a few times: https://news.ycombinator.com/from?site=github.com/kanaka
comment by stevekemp · 2025-08-05 · in Build Your Own Lisp -
I think the best way to learn Lisp is to make a Lisp. Two routes, I would recommend both. https://github.com/kanaka/mal https://t3x.org/
comment by sitkack · 2025-04-22 · in Coding as Craft: Going Back to the Old Gym -
…syntax is a great candidate for an exercise in making your own language. For example, Make a Lisp. https://github.com/kanaka/mal It's simple to lex and parse into an abstract syntax tree, so you can get on with exploring more interesting…
comment by lioeters · 2024-08-13 · in What you learn by making a new programming language -
…interpretation, quasiquotation/unquote for macros and their expansion, and goes up to self-hosting: https://github.com/kanaka/mal/ I just went through it over 2-3 days, great practice IMHO to do once in your life from start to finish:…
comment by dualogy · 2024-07-23 · in Show HN: Lisp in C# -
How does this compare with Make A Lisp [0]? Is it just that it's in C? [0] https://github.com/kanaka/mal
comment by satvikpendem · 2024-07-03 · in Build Your Own Lisp (2014) -
This: https://github.com/kanaka/mal
comment by fungiblecog · 2024-05-27 · in The Evolution of Lisp (1993) [pdf] -
…for making a lisp in various (including JavaScript) and has a process guide [1] to get started. [0] https://github.com/kanaka/mal [1] https://github.com/kanaka/mal/blob/master/process/guide.md
comment by jetti · 2024-05-12 · in Roll A Lisp In C – Reading (2020) -
Make a Lisp: https://github.com/kanaka/mal Make a Lisp is more Clojure-flavored than Common Lisp, but it might still be nice to examine because of how many different implementation languages it has been done in by various authors. It also…
comment by thesuperbigfrog · 2024-02-01 · in Ask HN: Guide for Implementing Common Lisp -
…to be self-hosting, meaning it will be able to run a mal interpreter written in mal itself. ~ https://github.com/kanaka/mal/blob/master/process/guide.md https://github.com/kanaka/mal
comment by carapace · 2023-11-15 · in I accidentally a scheme -
…(It has the full code in a link towards the bottom) There's also this: https://github.com/kanaka/mal > I would guess it checks what `defun` is, which is a macro...then expands it, and the expansion should ultimately result in an
comment by coldtea · 2023-08-22 · in Ask HN: Is Lisp Simple? -
try mal instead. all the fun and much less frustration https://github.com/kanaka/mal
comment by fungiblecog · 2023-06-06 · in Building a programming language in twenty-four hours -
Here is one implementation of a lisp (mal specifically) in matlab: https://github.com/kanaka/mal/blob/dcf8f4d7b9cf7b858850a04a0... Only 260 lines of code, pretty concise :)
comment by capableweb · 2023-05-29 · in Build Your Own Lisp -
…and if you get stuck, you can look at already implemented versions in practically any language: https://github.com/kanaka/mal Personal favorite implementations of mal: nasm (assembly) ( https://github.com/kanaka/mal/tree/master/impls/nasm…
comment by capableweb · 2023-05-28 · in Build Your Own Lisp -
https://github.com/kanaka/mal
comment by janpot · 2023-03-20 · in Ask HN: What projects did you build to get better as a programmer? -
…to successfully build a self-hosting lisp interpreter following the Make a Lisp guidelines [0]. [0] https://github.com/kanaka/mal/blob/master/process/guide.md
comment by KineticLensman · 2023-03-16 · in Show HN: Can you beat my dad at Scrabble? -
…Lisp. For me implementing a Lisp piece by piece helped me better understand its core ideas. [0] https://github.com/kanaka/mal
comment by nnadams · 2022-11-25 · in A few examples of Lisp code typography (2013) -
…a lot from the "Make a Lisp" project. If you haven't seen it, I'm sure you will enjoy studying it. https://github.com/kanaka/mal
comment by lioeters · 2022-11-06 · in Ask HN: Comment here about whatever you're passionate about at the moment -
…diagram of a Lisp interpreter, and browsing its implementation in many (~87) programming languages. https://github.com/kanaka/mal Especially where the guide explains how tail-call optimization works, my mind was blown.…
comment by lioeters · 2022-10-31 · in Ask HN: What piece of code/codebase blew your mind when you saw it? -
If you want to make a Lisp specifically, I'd suggest starting with MAL: https://github.com/kanaka/mal#mal---make-a-lisp If you want to build a programming language in general, I strongly recommend https://craftinginterpreters.com/
comment by rednab · 2022-07-15 · in Lisp in 99 lines of C and how to write one yourself [pdf] -
…--- And I can't help but mention Make-a-Lisp and its C implementation (~350 lines). https://github.com/kanaka/mal/blob/master/impls/c/stepA_mal....
comment by lioeters · 2022-07-14 · in Lisp in 99 lines of C and how to write one yourself [pdf] -
Or just write a lisp interpreter and get both worlds. https://github.com/kanaka/mal
comment by falcolas · 2022-07-02 · in Tell HN: Please stop making more DSLs -
…C doesn't make me feel I'm enjoying something elegant. [0]: https://craftinginterpreters.com/ [1]: https://github.com/kanaka/mal [2]: https://buildyourownlisp.com/
comment by namelosw · 2022-05-29 · in Ask HN: What does a developer need to know to build their own Lisp from scratch? -
> It's on github ... at https://github.com/kanaka/mal Fun fact: I got to work with Joel at a Clojure-based startup, LonoCloud (since acquired by ViaSat). Super sharp dude, and very helpful about MAL. Definitely recommend.
comment by davidrupp · 2022-05-29 · in Ask HN: What does a developer need to know to build their own Lisp from scratch? -
…your own lisp: [\s,]*(~@|[\[\]{}()'`~^@]|"(?:\\.|[^\\"])*"?|;.*|[^\s\[\]{}('"`,;)]*) Stolen from https://github.com/kanaka/mal/blob/master/process/guide.md#s...
comment by capableweb · 2022-05-29 · in Ask HN: What does a developer need to know to build their own Lisp from scratch? -
the classic introduction to building a lisp (interpreter) in different programming languages is: https://github.com/kanaka/mal
comment by CyMonk · 2022-05-29 · in Ask HN: What does a developer need to know to build their own Lisp from scratch? -
…at runtime Take a look at the awesome 'Make A Lisp' (MAL), in particular the section on quoting: https://github.com/kanaka/mal/blob/master/process/guide.md#s... This has a fairly good description of what happens during quasi-quoting.
comment by KineticLensman · 2022-05-07 · in Roll a Lisp in C – Evaluation -
…is done after the call to eval still have to recurse, but they are actually in the minority. [0] https://github.com/kanaka/mal/blob/master/process/guide.md#s...
comment by KineticLensman · 2022-01-23 · in Llisp: Lisp in Lisp -
…a failure.) Is this as complicated as people put it? I've never implemented my own lisp, but MAL ( https://github.com/kanaka/mal ) makes it seem like a relatively easy step in the process.
comment by capableweb · 2022-01-23 · in Llisp: Lisp in Lisp -
…uneasy that I was using C# to do the heavy lifting associated with garbage collection, etc. [0] https://github.com/kanaka/mal
comment by KineticLensman · 2022-01-16 · in Writing a minimal Lua implementation with a virtual machine from scratch in Rust -
Want to plug in my favourite https://github.com/kanaka/mal basically make a lisp in lot of language. Really give you ther idea of what is needed in build a programming language. Soemthing won't quite obvious. until you I down and write…
comment by kureikain · 2021-12-24 · in List of 4,248 open source programming languages -
Sounds like fun! What to do next? Run a Lisp in Tcl :) https://github.com/kanaka/mal/tree/master/impls Or write one yourself
comment by chubot · 2021-11-04 · in Partcl – A Tiny Command Language -
people have accumulated a lot of lisp impl on Make A Lisp repo https://github.com/kanaka/mal
comment by agumonkey · 2021-10-10 · in Lisp in a Weekend -
…Nystrom using a different language (again, perhaps Rust) to give myself more of a challenge. [0] https://github.com/kanaka/mal/blob/master/process/guide.md
comment by KineticLensman · 2021-09-10 · in Ask HN: Books that teach you programming languages via systems projects? -
MAL: https://github.com/kanaka/mal
comment by divs1210 · 2021-08-13 · in Show HN: Lisp implementation in modern Java, Go, C#, TypeScript, Python -
Reminds me of this: https://github.com/kanaka/mal Highly recommend trying it out. Making a lisp is surprisingly easy and fun. Plus you get your own programming language out of it.
comment by trutannus · 2021-07-12 · in (Risp (In (Rust) (Lisp))) -
mal is much, much better IMO: https://github.com/kanaka/mal
comment by fungiblecog · 2021-06-23 · in Learn C and build your own Lisp (2014) -
https://github.com/kanaka/mal
comment by macintux · 2021-06-20 · in Ask HN: Projects for learning a language? -
There even a mal in Hy! https://github.com/kanaka/mal/tree/master/impls/hy
comment by gilch · 2021-05-06 · in Hy: A dialect of Lisp that's embedded in Python -
Somebody took the Make A Lisp challenge ( https://github.com/kanaka/mal ) quite serious :D
comment by elyseum · 2021-05-05 · in Hy: A dialect of Lisp that's embedded in Python -
…other than Erlang. It's just enough of a hurdle I set it aside and didn't return. It's a big step. https://github.com/kanaka/mal/blob/master/process/guide.md#s...
comment by macintux · 2021-04-24 · in Mal – Make a Lisp -
…(~@|[\[\]{}()'`~^@]|"(?:\\.|[^\\"]) "?|;. |[^\s\[\]{}('"`,;)] ) Step 0, so I didn't get very far. https://github.com/kanaka/mal/blob/master/process/guide.md#s...
comment by macintux · 2021-04-24 · in Mal – Make a Lisp -
…point because it’s too advanced, but Make A Lisp has example implementations for +80 languages now: https://github.com/kanaka/mal
comment by elyseum · 2021-04-14 · in Ask HN: Beyond Hello World in multiple languages? -
…a resource in the same vein as [1] or [2] but to implement a prolog interpreter instead of lisp. 1: https://github.com/kanaka/mal 2: http://www.buildyourownlisp.com/
comment by emmanueloga_ · 2021-02-23 · in The birth of Prolog (1992) [pdf] -
…Or maybe use that SoC with its FORTH as microcode to implement SECD on top of it. Or look into https://github.com/kanaka/mal & https://en.wikipedia.org/wiki/POP-11 for matching and mixing.
comment by LargoLasskhyfv · 2021-02-19 · in Forth SoC Written in VHDL -
https://github.com/kanaka/mal
comment by mumblemumble · 2020-12-28 · in Wisp: A light Lisp written in C++ -
…You build a Lisp similar to Clojure and learn a lot of important concepts by implementing them. [0] https://github.com/kanaka/mal
comment by nnadams · 2020-12-16 · in Ask HN: I want to start learning Lisp. Where do I begin?