~/talk

Using Ruby to Generate Faster Ruby Code through Partial Evaluation

Talkat RubyConf 2009 · 2009-11-19..11-21· [ruby, machine-learning]
name:Andy Keep
links:none on file
slides:none on file

Claims Ruby can generate faster Ruby by partial evaluation and presents a working source-to-source toolchain: a Ripper-based parser converts code to an internal AST, a RubyWRI term-rewriter does dataflow-style constant propagation and simple static method analysis, and a Shadow Boxing UNP pretty-printer emits Ruby. Current evaluator handles constant folding and whole-method specialization opportunities but skips intramethod partial evaluation, closures, dead‑code elimination and C‑library semantics. No general speed numbers yet; method analysis progress is imminent and benchmarks and Rails template use are explored.

AI-written summary · about

  1. 0:00Introduction
  2. 0:56Who am I
  3. 1:37What is Partial Evaluation
  4. 2:49What is Constant Propagation
  5. 3:23What is Constant Folding
  6. 4:07What is Specialization
  7. 4:58Inlining
  8. 5:12Ruby Partial Evaluation
  9. 6:46Preserving Meaning
  10. 8:06Context Matters
  11. 9:24Determining the Receiver
  12. 10:13Determining Safety
  13. 11:59Data Flow Based Analysis
  14. 15:06Hybrid Method Analysis
  15. 17:48SourcetoSource Translation
  16. 19:04Parsing
  17. 19:42Analysis Transformation
  18. 21:24Example
  19. 25:24Unpark
  20. 26:36VAR Reference
  21. 27:47Work in Progress
  22. 30:44Next Steps
  23. 34:09More Information
  24. 37:14Questions
~/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.