Hacker GitHub

← All repos

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

Mentions per year 128 mentions · busiest year 2017 (19)
20082026
  1. 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…
  2. 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
  3. 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
  4. …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
  5. 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/
  6. …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…
  7. …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#
  8. 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)
  9. This: https://github.com/kanaka/mal
    comment by fungiblecog · 2024-05-27 · in The Evolution of Lisp (1993) [pdf]
  10. …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)
  11. 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
  12. …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
  13. …(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?
  14. try mal instead. all the fun and much less frustration https://github.com/kanaka/mal
  15. 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
  16. …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
  17. https://github.com/kanaka/mal
  18. …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?
  19. …Lisp. For me implementing a Lisp piece by piece helped me better understand its core ideas. [0] https://github.com/kanaka/mal
  20. …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
  21. …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.…
  22. Here is a lisp implementation (mal) with TCO, written in Python: - https://github.com/kanaka/mal/blob/master/impls/python/step5... - Theory: https://github.com/kanaka/mal/blob/master/process/guide.md#s...
    comment by capableweb · 2022-07-20 · in Lisp.py
  23. 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/
  24. …--- 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....
  25. 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
  26. …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/
  27. > 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.
  28. …your own lisp: [\s,]*(~@|[\[\]{}()'`~^@]|"(?:\\.|[^\\"])*"?|;.*|[^\s\[\]{}('"`,;)]*) Stolen from https://github.com/kanaka/mal/blob/master/process/guide.md#s...
  29. the classic introduction to building a lisp (interpreter) in different programming languages is: https://github.com/kanaka/mal
  30. …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
  31. …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
  32. …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
  33. …uneasy that I was using C# to do the heavy lifting associated with garbage collection, etc. [0] https://github.com/kanaka/mal
  34. 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…
  35. 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
  36. 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
  37. …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
  38. MAL: https://github.com/kanaka/mal
  39. 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)))
  40. 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)
  41. https://github.com/kanaka/mal
    comment by macintux · 2021-06-20 · in Ask HN: Projects for learning a language?
  42. There even a mal in Hy! https://github.com/kanaka/mal/tree/master/impls/hy
  43. Somebody took the Make A Lisp challenge ( https://github.com/kanaka/mal ) quite serious :D
  44. …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
  45. …(~@|[\[\]{}()'`~^@]|"(?:\\.|[^\\"]) "?|;. |[^\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
  46. …point because it’s too advanced, but Make A Lisp has example implementations for +80 languages now: https://github.com/kanaka/mal
  47. …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]
  48. …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
  49. https://github.com/kanaka/mal
    comment by mumblemumble · 2020-12-28 · in Wisp: A light Lisp written in C++
  50. …You build a Lisp similar to Clojure and learn a lot of important concepts by implementing them. [0] https://github.com/kanaka/mal