Programming with Something
summary
Shows how to represent proc-encoded code as an AST from procs by calling procs with variable objects and monkey‑patching [], implements Church-style substitution reduction and a full evaluator, adds constants and closures for decoding, then speeds it with a SECD machine (stack/env/control/dump) and a C backend tied via FFI. Concrete results: native proc fizzbuzz ~18s, naive AST interpreter ~2 hours, SECD Ruby ~3 minutes (~40× faster than naive), C SECD ~1 minute (~3× faster than Ruby SECD).
AI-written summary · about
chapters (8)
- 0:00Introduction
- 0:38Encoding
- 3:27Implementation
- 7:10Representation
- 13:55Evaluation
- 20:29Decoding
- 22:49Demo
- 31:19Conclusion
related talks
41mProgramming with Nothing
24mOne machine please, make it Turing
31mThe AST Galaxy to the Virtual Machine Blues
45mUsing Ruby to Generate Faster Ruby Code through Partial Evaluation
53mCode Generation: ....
50mImplementing Virtual Machines in Ruby (and C)
01h 14mShaving with Occam
48mRapid Programming Language Prototypes with Ruby RACC
