~/talk

Y Not- Adventures in Functional Programming

Talkat RubyConf 2012 · 2012-11-01..11-03· [functional-programming, ruby]
slides:none on file

Walks from lambda calculus to a working Ruby implementation that computes recursion without named methods, using mechanical refactorings: Tennent correspondence, introduce binding, wrap function and inline. Builds an anonymous factorial improver and then the applicative-order (Z) combinator (Y for lazy languages), produces a pure lambda expression that calculates factorials (demonstrated to about 2000 before stack overflow), and shows the concrete steps and why the combinator actually works.

AI-written summary · about

  1. 0:00Start
  2. 0:25The Y Combinator
  3. 2:17Audience Participation
  4. 3:36Turing Machine
  5. 4:09Animation of a Turing Machine
  6. 6:55Lambda Calculus
  7. 10:01Beta Reduction
  8. 10:38Beta Expansion
  9. 14:40Definition of Fixed Point
  10. 17:50Fixed Points
  11. 18:21Regular Functions
  12. 20:06Compose
  13. 21:17Functional Refactorings
  14. 23:08Argument Binding
  15. 24:35Wrap Function
  16. 26:08In Line Refactoring
  17. 32:41Lambda Function
  18. 50:45Use the Y Combinator in My Own Code
~/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.