~/talk

Symbolic Assembly: Using Clojure to Meta-program Bytecode

slides:none on file

Describes a REPL-driven, functional approach that represents CLR bytecode as data so Clojure code generates and transforms it before a single mutable emit step. Uses Mage as a symbolic MSIL layer and MAGIC as a compiler that compiles Clojure to the CLR for the Arcadia/Unity workflow, cutting about 52 bytes of per-call garbage and eliminating ~26KB per frame in one example. Shows extensible optimizations, intrinsics, and a new Simba LLVM emitter that proves the approach works and produces real, faster machine code.

AI-written summary · about

  1. 0:00Introduction
  2. 0:18Who am I
  3. 0:34TDD
  4. 1:27Metaprogram Bytecode
  5. 3:12Who does Compiler Work
  6. 3:48This is not a fluke
  7. 4:18Pain of developing compilers
  8. 5:01C compiler example
  9. 6:19Two hard problems
  10. 6:36General idea
  11. 7:42Mage
  12. 9:06Why Clojure
  13. 9:35Closure
  14. 10:09Arcadia
  15. 10:36Proc Skater
  16. 11:19Real Bytecode
  17. 13:14Symbolic Bytecode
  18. 16:17EjectBang
  19. 17:17Labels
  20. 19:28State
  21. 20:38Code Generation
  22. 22:31Magic
  23. 23:35Compiler Architecture
  24. 24:40Analyzer Architecture
  25. 25:24Symbolism
  26. 26:32Hashmap
  27. 28:29Do
  28. 32:35Optimizations
  29. 33:30Intrinsic Map
  30. 34:32Using Closure
  31. 34:48Using Magic
  32. 36:10Inner Loop Closure
  33. 37:05Future Work
  34. 37:44LLVM Module
  35. 39:34Outro
~/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.