HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
aalhour
awesome-compilers
Languages & Compilers2017–2023
aalhour / awesome-compilers

awesome-compilers

:sunglasses: Curated list of awesome resources on Compilers, Interpreters and Runtimes

14Distinct people
17Mentions
1Explicit recommenders
10KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

:sunglasses: Curated list of awesome resources on Compilers, Interpreters and Runtimes

GitHub

Where it is used

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

What people are saying

Hey, I have been in your place like last year, and as a result of researching the field of Compilers and Interpreters construction I wrote a curated list of awesome resources…

aalhour 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

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 year17 dated mentions

Observed mentions: 2017-05-13 13:48:30 UTC to 2023-05-26 21:50:40 UTC.

02462017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 6 mentions; 3 submissions, 3 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023

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 UTC633
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC312
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
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 UTC202
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101

What Hacker News says

17 sources
Original request bit wide open on subject domain/topic subdomains. aka CS AI; CS programming language implimentation; implimenting a database engine Subject domain bit wide, but assuming 1-2yr computer science degree, biased towards lisp related data structures / algorithms (aka recursive tree data structures & algorithms). So, no distinction between metadata vs. structual storage unless noted. Anything beyond that tends towards masters & upper level undergraduate level material. aka review the implimentation of a programming language for algorithm & data structure usage per language features. aka Lisp in Small Pieces by Christian Queinnec; ; https://github.com/aalhour/awesome-compilers; On Lisp by Paul Graham; Let over Lambda by Doug Hoyte; C 'macro's pushed to maximum effect : https://libcello.org/ Left out Comparison of lan
Read the rest
guages; Transform from lang a to lang b; and language implimentation as discussions tend to assume masters / upper level undergraduate knowledge ;;; Basic groupings : 1) theory; 2) learning & training problems; 3) algorithm book on-line ; 4) notational theory ;;;* 1) Theory: ** Category Theory for Programmers by Bartosz Milewski ** Regular expressions ** subject of meta-programming : https://en.wikipedia.org/wiki/Metaprogramming ** subject of meta-modeling : https://en.wikipedia.org/wiki/Metamodeling ** programing pardigms : https://en.wikipedia.org/wiki/Programming_paradigm ** programning language patterns : https://en.wikipedia.org/wiki/Software_design_pattern ;;;* 2) Learning / Training problems: Lots of non-lisp language training problems sites. Other than go and try it in lisp language of choice, perhaps also use a <language> to lisp or lisp to <language> for hints if stuck. ** language & non-language specific coding problems : https://adriann.github.io/programming_problems.html -- a few links from adriann.githupb.io: -- https://www.spoj.com/problems/classical/sort=0,start=500 -- https://www.ic.unicamp.br/~meidanis/courses/mc336/problemas-lisp/L-99_Ninety-Nine_… -- https://rosettacode.org/wiki/Category:Programming_Tasks ** https://lispcookbook.github.io/cl-cookbook/ ** meta-algorithms site : https://the-algorithms.com ** https://www.geeksforgeeks.org/data-structures/ ** https://www.geeksforgeeks.org/advanced-data-structures/?ref=gcse ;;* 3) algorithm book (on-line): ** Programming Algorithms in Lisp by VsevolodDomkin ** Competative Programming : https://cses.fi/book/book.pdf ** Algorithms by Jeff Erickson (non-lisp bent): https://jeffe.cs.illinois.edu/teaching/algorithms/ ** Open Data Structures : https://opendatastructures.org/ods-python/ ;;* 4) Notational stuff: ** Ebnf https://www.gimtec.io/articles/ebnf/ (check out the further readings!) ** awesome syntax-tree : https://github.com/syntax-tree/awesome-syntax-tree ** church encoding : https://en.wikipedia.org/wiki/Church_encoding ** mogensen-scott encoding : https://en.wikipedia.org/wiki/Mogensen%E2%80%93Scott_encoding` ** lambda calculus : https://en.wikipedia.org/wiki/Lambda_calculus ** Combinators : https://github.com/loophp/combinator
In Ask HN: I like studying the concept of abstractions
Older editions have solutions to the exercises in book available on line (via search engine such as google) ### Some of the following assume an advanced backround: Structure and Interpretation of Computer Programs , Abelson & Sussman & Engineering a compiler, K.D. Cooper & L. Torczon Modern Compiler Design (Worldwide Series in Computer Science), Build Your Own Programming Language: A programmer's guide to designing compilers, interpreters, and DSLs for solving modern computing problems, C Jeffery ### Alternate suggestions: Aho et al. book covers quite a broad variety of topics/discussions. There are resources that cover more current approaches / more indepth for a given topic/specific subject matter than would be possible in Aho et. Depending on requirements/needs, on-line resources/courses/topics can provide access to more modern/quicke
Read the rest
r feedback: search compiler on https://www.geeksforgeeks.org/ software perspectiv, https://program-transformation.org/ research intensive, look at specific book/documentation on how a language is/was implimented, aka cpython, java, compiling lisp, smalltalk-80, forth General resource sites (per looking for something less expensive): https://github.com/aalhour/awesome-compilers / https://bernsteinbear.com/pl-resources/
In Ask HN: What resources do you recommend for compiler development?
University Of Washington CSEP501: Compiler Construction http://courses.cs.washington.edu/courses/csep501/ Keith Schwartz Stanford Compiler course CS143 http://www.keithschwarz.com/cs143/ Stanford's Engineering Compiler course on Lagunita https://lagunita.stanford.edu/courses/Engineering/Compilers/... Matt Might's courses are self educational blueprints http://matt.might.net/teaching/compilers/ Book Introduction to Compilers and Language Design https://www3.nd.edu/~dthain/compilerbook/ I'm not a fan of uncurated link dumps, however: Awesome compilers link aggregation on Github https://github.com/aalhour/awesome-compilers
In ChocoPy: A Programming Language for Compilers Courses
For a new grad, I recon you checkout the LLVM introduction and its pointers by Adrian Sampson for a primer and then look at the LLVM tutorials [0] about building a toy language. This will give you a feel about how 'modern' compiler development ties in with a programming language using the LLVM infrastructure. If you are feeling for contributing to a real-world language, there are a few such as Go (very advanced), Rust, Swift, etc. For a beginner, my recommendation would be to checkout the Zig Programming Language [2] as a start and then look at the others. If you can't choose, look at Awesome Compilers: [3] This is the sort of question that I am very pleased to see on HN and we need more of. [0] - https://www.cs.cornell.edu/~asampson/blog/llvm.html [1] - https://llvm.org/docs/tutorial/ [2] - https://ziglang.org [3] - https://github.com/aa
Read the rest
In Ask HN: Compiler Engineers, what would you advise new grads/students to learn?
aalhour·Jul 10, 2017Recommendation phrase
Hey, I have been in your place like last year, and as a result of researching the field of Compilers and Interpreters construction I wrote a curated list of awesome resources on Compilers, Interpreters and Runtimes, feel free to check it out at: https://github.com/aalhour/awesome-compilers. The list is huge, so I recommend you start with the Compilers course by Stanford and go through one of the two following books as a parallel reading: 1. Engineering a Compiler, K. Cooper, L. Torczon. 2. Modern Compiler Implementation in ML, by A. Appel. If you want a smaller book, the I recommend the Basics of Compiler Design by T. Mogensen, it is a nice and short one. All of these resources are linked to in the list. Happy tinkering!
In Ask HN: Resources for learning to write compilers?
Hey, I seconded this, the Dragons Book is not the best textbook or introduction to the topic, there are a lot of better ones. The Dragons Book is more of a classic. If you want to read a good book on compilers construction then you're better off reading "Engineering a Compiler" by K. Cooper and L. Torczon or "Modern Compiler Implementation in ML" by A. Appel. If you want more resources on Compilers other than books, such as tutorials, guides, talks and papers, then go ahead and check the Awesome Compilers vertical I compiled a while ago: https://github.com/aalhour/awesome-compilers Cheers!
In Ask HN: What language-agnostic programming books should I read?

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