this post was submitted on 27 Jul 2024
50 points (100.0% liked)

Programming

17528 readers
264 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
top 2 comments
sorted by: hot top controversial new old
[โ€“] [email protected] 6 points 4 months ago

Bril is the only compiler IL I know of that is specifically designed for education.

R. Kent Dybvig's compilers course has had approximately 15 "intermediate" representations designed for his course since at least 2004 -- a consequence of teaching the course using the nanopass compiler framework for scheme. You could broadly divide these into "representations that are restrictions of scheme," and "representations that are increasingly-annotated versions of UIL" where UIL is the underlying intermediate representation. As far as I know, UIL was also designed for this course.

[โ€“] [email protected] 2 points 4 months ago

I highly recommend "Essentials of Compilation" by Jeremy Siek, which explores the same nano-pass approach using both Python and Racket. His course is easily one of my favorites.