~/talk

Macro-embedding Compiler Intermediate Languages in Racket

Talkat Scheme 2022 · on Friday, 2022-09-16· [compilers-and-language-design]
links:none on file
slides:none on file

Implements a macro-embedding that derives a family of compiler intermediate languages inside Racket to generate 120 interpreters for a compilers course, mixing safe functional abstractions and unsafe assembly features (registers, labels, jumps, pointer arithmetic). Uses identifier macros and a variable-like transformer abstraction so set! interoperates with module-scoped mutable boxes, expands labels to letrec-bound procedures with captured exit continuations, and exposes interpreters via modules and contracts; core embedding lives in base.rkt (≈600 lines) and the approach succeeds for most features.

AI-written summary · about

  1. 0:00Start
  2. 5:01Just using macros... (won't be enough)
  3. 9:24Macros that work together
  4. 14:52Non-syntactic interposition points
  5. 17:56Module system
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.