Functional Programming and Ruby
summary
Shows Haskell quicksort briefly then digs into concrete claims: Haskell supports infinite list laziness and elegant lazy memoized fib; Ruby 2.0 adds Enumerator::Lazy and internal objects (yielder/generator) so chained maps can be lazy, but lazy enumerators only work through each and fail for indexed access so the curried “!!” style fib memoization breaks. Transcript demos: naive recursive fib is exponentially slow, Haskell’s lazy cache is fast, Ruby falls back to memoization via hash to get acceptable performance.
AI-written summary · about
chapters (26)
- 0:00Start
- 1:15Reasons Why We Should Study Other Programming Languages
- 2:54Where Does Ruby Come from
- 4:38Alan Kay
- 5:40Class Hierarchy of Ruby
- 7:18Haskell
- 7:52What Is Haskell
- 8:02What Is Ruby
- 8:58What Is Functional Programming
- 9:20Key Idea behind Functional Programming
- 11:49Higher-Order Functions
- 15:54How Functional Programmers Think
- 18:03Collect Method
- 21:17Lazy Evaluation
- 21:30Infinite List
- 22:59The Lazy Enumerator
- 24:10Enumerator Object
- 26:56Lazy Evaluation
- 27:07Enumerator Lazy
- 30:12Calculating the Fibonacci Sequence
- 32:19Fix Unnecessary Recursion
- 35:50Curried Functions
- 36:16Infinite List
- 37:03Bang Bang Operator
- 40:53What Have We Learned Today
- 41:52Questions
related talks
44mFunctional Programming for Rubyists
37mRuby versus the Titans of FP
37mFunctional Programming in Ruby
33mBetter Ruby through Functional Programming
35mThe Functional Rubyist
29mFunctional Programming in Plain Terms
25mLaziness is a Virtue: Lazy, Functional, Immutable Ruby
53mY Not- Adventures in Functional Programming
