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. ▲ 3
    Mal – Make a Lisp, implemented in 89 Languages
    story by lioeters · 2026-07-17 · 0 comments
  2. 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…
  3. 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
  4. 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
  5. …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
  6. 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/
  7. …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…
  8. …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#
  9. 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)
  10. This: https://github.com/kanaka/mal
    comment by fungiblecog · 2024-05-27 · in The Evolution of Lisp (1993) [pdf]
  11. …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)
  12. ▲ 2
    Mal – Make a Lisp
    story by Tomte · 2024-02-21 · 0 comments
  13. 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
  14. …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
  15. …(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?
  16. try mal instead. all the fun and much less frustration https://github.com/kanaka/mal
  17. 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
  18. …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
  19. https://github.com/kanaka/mal
  20. …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?
  21. …Lisp. For me implementing a Lisp piece by piece helped me better understand its core ideas. [0] https://github.com/kanaka/mal
  22. …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
  23. …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.…
  24. 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
  25. 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/
  26. …--- 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....
  27. 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
  28. …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/
  29. > 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.
  30. …your own lisp: [\s,]*(~@|[\[\]{}()'`~^@]|"(?:\\.|[^\\"])*"?|;.*|[^\s\[\]{}('"`,;)]*) Stolen from https://github.com/kanaka/mal/blob/master/process/guide.md#s...
  31. the classic introduction to building a lisp (interpreter) in different programming languages is: https://github.com/kanaka/mal
  32. …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
  33. …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
  34. …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
  35. …uneasy that I was using C# to do the heavy lifting associated with garbage collection, etc. [0] https://github.com/kanaka/mal
  36. 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…
  37. 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
  38. 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
  39. …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
  40. MAL: https://github.com/kanaka/mal
  41. 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)))
  42. 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)
  43. https://github.com/kanaka/mal
    comment by macintux · 2021-06-20 · in Ask HN: Projects for learning a language?
  44. ▲ 3
    Truffle Mal
    story by tosh · 2021-06-02 · 0 comments
  45. There even a mal in Hy! https://github.com/kanaka/mal/tree/master/impls/hy
  46. Somebody took the Make A Lisp challenge ( https://github.com/kanaka/mal ) quite serious :D
  47. …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
  48. …(~@|[\[\]{}()'`~^@]|"(?:\\.|[^\\"]) "?|;. |[^\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
  49. ▲ 170
    Mal – Make a Lisp
    story by AlexeyBrin · 2021-04-24 · 40 comments
  50. …point because it’s too advanced, but Make A Lisp has example implementations for +80 languages now: https://github.com/kanaka/mal