HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
IUCompilerCourse
Essentials-of-Compilation
TeX2017–2026
IUCompilerCourse / Essentials-of-Compilation

Essentials-of-Compilation

A book about compiling Racket and Python to x86-64 assembly

18Distinct people
22Mentions
2Explicit recommenders
1.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A book about compiling Racket and Python to x86-64 assembly

GitHub

Where it is used

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

What people are saying

This paper is my favorite introduction to compilers, it's short and hands-on, goes from compiling a primitive program that does nothing but returns a single integer to a…

mepian used a recommendation phrase. 3 indexed comments match. 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

No other repository is repeatedly linked in the same discussions.

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:56:07 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 year22 dated mentions

Observed mentions: 2017-09-02 10:03:12 UTC to 2026-04-15 16:02:15 UTC.

0123452017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 4 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 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; 0 submissions, 1 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 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC202
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC440
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC110
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC505
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
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 UTC101

What Hacker News says

22 sources
There is a good body of literature that is distinct from the academic compiler literature. https://t3x.org/ https://compilerbook.com/ https://interpreterbook.com/ https://www.craftinginterpreters.com/ R. G. Loeliger Threaded Interpretive Languages Their Design And Implementation https://news.ycombinator.com/item?id=43973544 https://github.com/IUCompilerCourse/Essentials-of-Compilatio... And check out Andy Keep's Nanopass Compiler work, https://nanopass.org/
In Revisiting "Let's Build a Compiler"
mepian·May 30, 2023Recommendation phrase
This paper is my favorite introduction to compilers, it's short and hands-on, goes from compiling a primitive program that does nothing but returns a single integer to a full-blown implementation of a real programming language in 24 small steps: http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf There is a book-length expansion of this paper that goes into more detail: https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
In Why Learn Compilers (2021)
# Programming "A Data-Centric Introduction to Computing" https://dcic-world.org/ # Programming Language Theory "Programming Languages: Application and Interpretation" https://www.plai.org/ "Crafting Interpreters" https://craftinginterpreters.com/ # Algorithms/Data Structures * Pure C * "Algorithmic Thinking: A Problem-Based Introduction" https://nostarch.com/algorithmic-thinking-2nd-edition # Competitive Programming/Interviews "Competitive Programming book, 4th edition (CP4)" https://cpbook.net/ "Elements of Programming Interviews in Python" http://elementsofprogramminginterviews.com/ # Compilation "Essentials of Compilation: An Incremental Approach in Python" https://github.com/IUCompilerCourse/Essentials-of-Compilatio... # Database Systems "CMU: Intro to Database Systems" https://15445.courses.cs.cmu.edu/ "CMU: Advanced Database Systems
Read the rest
" https://15721.courses.cs.cmu.edu/ # Calculus I/II & Real Analysis "A Course in Calculus and Real Analysis" https://link.springer.com/book/10.1007/978-3-030-01400-1 "A Course in Multivariable Calculus and Analysis" https://link.springer.com/book/10.1007/978-1-4419-1621-1 # Physics "Matter and Interactions" https://matterandinteractions.org/ # Linear Algebra & ML * A Series of books by prof. Joe Suzuki without using any external library for the implementations * "Statistical Learning with Math and Python" https://link.springer.com/book/10.1007/978-981-15-7877-9 "Sparse Estimation with Math and Python" https://link.springer.com/book/10.1007/978-981-16-1438-5 "Kernel Methods for Machine Learning with Math and Python" https://link.springer.com/book/10.1007/978-981-19-0401-1 # Discrete Mathematics "CMU 21-228 Discrete Mathematics (prof. Poh-Shen Loh" https://www.math.cmu.edu/~ploh/2021-228.shtml # Mathematical Logic "Mathematical Logic Through Python" https://www.logicthrupython.org/ # CS Complexity and Theory: Courses by Ryan O'Donnell at CMU http://www.cs.cmu.edu/~odonnell/ # Cryptography "Serious Cryptography: A Practical Introduction to Modern Encryption" https://nostarch.com/seriouscrypto # Problem Solving "Math 235: Mathematical Problem Solving" https://www.cip.ifi.lmu.de/~grinberg/t/20f # Computer Graphics * Also look up the course by @pikuma for a pure c impl without OpenGL * "Computer Graphics from Scratch: A Programmer's Introduction to 3D Rendering" https://gabrielgambetta.com/computer-graphics-from-scratch/ "The Ray Tracer Challenge A Test-Driven Guide to Your First 3D Renderer" https://pragprog.com/titles/jbtracer/the-ray-tracer-challeng... # Reverse Engineering "Reverse Engineering for Beginners" https://beginners.re/ # SAT/SMT "SAT/SMT by Example" https://sat-smt.codes/ Also Hakan Kjellerstrand's z3 page: http://www.hakank.org/z3/ # Game Engine Development * 2/4 volumes out (no digital format for the 2 pending volumes due to the authors "piracy" concerns * "Foundations of Game Engine Development" https://foundationsofgameenginedev.com/ # Creative Coding "Generative Design: Visualize, Program, and Create with JavaScript in p5.js" http://www.generative-gestaltung.de/2/ Articles by Tyler Hobbs specially the one on "Flow Fields" : https://tylerxhobbs.com/essays/2020/flow-fields Articles by Sighack specially the one on "Watercolor Techniques": https://sighack.com/post/generative-watercolor-in-processing
In Can we create a thread for some of the best materials on CS available online?
mepian·Apr 29, 2023Recommendation phrase
My favorite language implementation tutorial is "An Incremental Approach to Compiler Construction" by Abdulaziz Ghuloum: http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf What makes it stand out is that it shows you how to build a compiler rather than an interpreter, and shows that it's really not that much more difficult. There is a book-length "sequel" to this paper that goes into more detail: https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
In Learn C and build your own Lisp (2014)
Various books do this. Essentials of Compilation is a recent one: https://github.com/IUCompilerCourse/Essentials-of-Compilatio... You can find a PDF and the associated course with a very minimal amount of following links. If you are thinking of making your own language, it's also good to learn something about programming language theory, if you don't already. Many languages make mistakes that have been solved 25+ years ago. PLAI is good for that: https://www.plai.org/
In Advanced Compilers: Self-Guided Online Course

Showing the 15 most recent of 22 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.