~/talk

The Language of the Language: Comparing compiler construction in Clojure and F#

slides:none on file

Two compilers for Clojure-like lisps end-to-end: MAGIC: Clojure → MSIL, used in Arcadia/Unity, tools.analyzer, nested hash-map ASTs and dynamic compiler maps that create bespoke local compilers and Jn/Gin: F# → MSIL, discriminated-union AST types, Mono.Cecil for emission, a threaded context record for locals and recur. Types in F# give compile-time structure but cannot encode bytecode validity; dynamic maps in Clojure let passes add info locally and simplify many context-dependent codegen tasks.

AI-written summary · about

  1. 0:00Introduction
  2. 0:35The Magic Clojure compiler
  3. 2:56The Jin F# compiler
  4. 4:02Comparing compiler approaches
  5. 6:16Compiler pipeline architecture
  6. 8:21Data representation strategies
  7. 12:40Symbolic bytecode generation
  8. 17:27Validity and verification
  9. 21:38Context management techniques
  10. 31:27Conclusion
~/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.