~/talk

Keeping Ruby Reasonable

Talkat RubyConf 2011 · 2011-09-29..10-01· [ruby]
speakerdeck:jballanc
slides:none on file

Ruby’s binding returns a first-class environment and Ruby chooses to expose all bindings as live and mutable, which lets any proc’s binding be used to rewrite methods or keep large objects alive; that makes programs impossible to reason about and prevents common VM optimizations. Scheme’s R6RS opts for controlled library references and eval-with-limited-environment; Objective‑C captures variables as readonly or explicit mutables; Ruby’s method.to_proc yields a far more restricted environment as shown by the capture‑the‑flag examples. The concrete takeaway: formalize and restrict environments so eval, GC and optimizations become reliable.

AI-written summary · about

  1. 0:00Introduction
  2. 2:24The Story
  3. 3:29The Error
  4. 5:29What does it mean
  5. 7:05Definitions
  6. 9:36Source
  7. 11:20Four Essential Questions
  8. 16:23R6 RS Conclusion
  9. 17:55ObjectiveC
  10. 21:12Is this reasonable
  11. 23:44Blue Team
  12. 24:22Red Team
  13. 25:26Spy
  14. 27:36Conclusion
  15. 34:08FirstClass Environment
  16. 36:38Ruby Compilers
  17. 38:38Scheme
  18. 40:08Constant Resolution
  19. 42:08Bugs
  20. 44:08Reasoning
~/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.