Taking inspiration from the functional world
summary
Shows concrete techniques for making Ruby code more functional: using IceNine to deep-freeze structures and the gem adamantium to build immutable objects (but object creation becomes 13x slower in a simple benchmark), composing transformations with a small library around Ruby method objects (Transproc) instead of monkey-patching Enumerable, handling failures with Maybe/Either-style monads, and organizing stateless, dependency-injected callable objects via a container (dry-container / dry-auto_inject) that are easy to compose and test.
AI-written summary · about
chapters (36)
- 0:00Introduction
- 1:17First job
- 1:50Learning more
- 2:22Shift to functional
- 2:53Ruby
- 4:08Immutable
- 6:26Deep Freeze
- 7:10Objects
- 7:38Iceline
- 8:37Useful for education
- 9:36Transforming data
- 10:52Map
- 12:36lambdas
- 13:18two abstractions
- 14:40numerable module
- 15:19chain method calls
- 15:48method objects
- 17:47Trans Prague
- 18:27Function Composition
- 19:07Pipeline Composition Operator
- 20:09Import Functions
- 21:32Monads
- 22:19Consistency
- 23:24Handling error
- 23:42Functional objects
- 24:42Stateless objects
- 26:30Object orientation
- 27:16Method call
- 27:57Input and output
- 29:47Dependencies
- 31:06Dry Container
- 32:03Dependency Injection
- 35:07Does it make sense
- 36:15Experimenting with Ruby
- 37:28No Object Oriented Languages
- 38:08Alexer
related talks
35mReal-world Functional Ruby
44mReal-World Functional Ruby
44mFunctional Programming for Rubyists
26mImmutable Ruby
26mBlending Functional and OO Programming in Ruby
24mFunctional programming for fun and profit!!
33mBetter Ruby through Functional Programming
39mFunctional Architecture for the Practical Rubyist
