HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
munificent
craftinginterpreters
HTML2017–2026
munificent / craftinginterpreters

craftinginterpreters

Repository for the book "Crafting Interpreters"

19Distinct people
42Mentions
1Explicit recommenders
11.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Repository for the book "Crafting Interpreters"

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I love the crafting interpreters book, https://github.com/munificent/craftinginterpreters

acedTrex used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year42 dated mentions

Observed mentions: 2017-01-16 00:40:59 UTC to 2026-07-23 14:52:48 UTC.

02462017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC707
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC606
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC404
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC606
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC505
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC514
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC404
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC110

What Hacker News says

42 sources

Show HN: Plox – Lox compiler in ~600 LOC from the 'Crafting Interpreters' book

'Crafting Interpreters' is Bob Nystrom's book that teaches you how to build a compiler from scratch. It is an excellent resource and I can highly recommend it. Really light to read and walks you through all the concepts step-by-step. The first part of the book builds a compiler for the 'Lox' toy language in Java. While I have nothing against Java, personally I have never used it much so I decided to go through the first part of the book writing the code snippets in Python, a language I'm more familiar with. My implementation is probably not remarkable against the list of other implementations (https://github.com/munificent/craftinginterpreters/wiki/Lox-...), though I tried to minimize the amount of 'object oriented' language features in Python that I use. The AST is also stored 'flat' as a list. Personally I find this style of code much e
Read the rest
asier to read and understand. LOC breakdown: scanner ~130, parser ~350, interpreter ~90, type definitions ~200 I'm publishing the repo under MIT so that perhaps it might be useful to others also learning about compilers.
2 points · Open discussion
> If you’ve been relying on Markdown and occasionally fighting its quirks, AsciiDoc might be the structured, fully-featured alternative you didn’t know you needed. No, I'm afraid it's the format I know I don't need. At least not for the kind of things I usually use markdown for. Readme files, technical documentation, moderately complex websites with templating and rendering engines - markdown works just fine. Sometimes with a custom `|||warning\n...\n|||\n` thrown in to render something in a box with a red border. I get that there's a market in the space occupied by TeX, Typst (underrated IMHO), and possibly MS Word or Quark Express (for non-techies). Libreoffice is great in theory but, again IMHO, "eh" in practice. That market is generating book-length documents with all the cross-references and other features that needs. That said, Robe
Read the rest
rt Nystrom of "Crafting Interpreters" managed this just fine with markdown and a few custom scripts: https://journal.stuffwithstuff.com/2020/04/05/crafting-craft... , https://github.com/munificent/craftinginterpreters/tree/mast... . This is how those famous 10x writers/programmers work, I guess. Asciidoc is Markdown's big brother? I'll carry on playing with the little brother, thank you very much. Also the whole page is an ad for their own editor tool. $9.99 per month so you don't need to use your own editor and unintuitive tools like (gasp!) the terminal.
In Markdown's Big Brother: Say Hello to AsciiDoc
leogout·Nov 2, 2024Submission

Show HN: RasperDucky, an Implementation of DuckyScript3 for Raspberry Pico

The past few weeks I've been working on an implementation of DuckyScript3 used for keystroke injections attacks. See [1] for the official RubberDucky USB key page. My goal is to write a python interpreter to port as much commands as possible to run them on a RaspberryPi pico. It's a fun side project that I've loved working on lately. If you have any questions, feel free to ask. As mentioned in the README of the project, I am in no way affiliated with Hack5, which is the creator of the original USB RubberDucky and the DuckyScript language. Here is a link to another project on this topic, [2] which inspired me for doing this. At first I tried to contribute to this project but I got no answers from the owner and the way the code was written didn't correspond to the way I would have done it, so it gave me the motivation to create my own. I've
Read the rest
learned lots and lots thanks to crafting interpreters [3], written by Bob Nystrom [1]: https://shop.hak5.org/products/usb-rubber-ducky [2]: https://github.com/dbisu/pico-ducky [3]: https://github.com/munificent/craftinginterpreters
2 points · Open discussion
Fun writeup. When I went through and implement the book in rust (https://github.com/jcdavis/rulox), I just used Rc and never really solved the cycle issue. I'll +1 and say I highly recommend going through Crafting Interpreters, particularly as a way of building non-trivial programs in languages you are less familiar with - If you just follow the java/C example you are tempted to lean into copy/pasting the samples, but figuring things out in other languages is a great experience. I spent a longass time tracking down an issue with how the reference interpreter implementation defines tokens: https://github.com/munificent/craftinginterpreters/issues/11... which was frustrating but good debugging practice.
In Crafting Interpreters with Rust: On Garbage Collection
I really look forward to reading the book myself, and don't have a background in compilation, but will probably try using my own language of choice for the first half anyways, because I feel I know what I want and no one can stop me :p > Second, because it's so large and packed already, the author left quite a few things out, particularly testing. There's precious little actual Lox code in the book, and no testing strategy. Testing interpreters well is relatively easy and very powerful, especially when implementing multiple ones for the same language. I do understand the space constraints, however. It's worth mentioning that the author does have a repo containing the tests they used while creating the book, which can be ran against the state of each interpreters (including your own) at the end of each chapter, which is really cool: https:
Read the rest
In Book Review: “Crafting Interpreters” by Robert Nystrom

Showing the 15 most recent of 42 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.