Plain Functional Programming
summary
Argues that the useful core of functional programming is plain, specific tools: introduces implicit function types and a configured[T] alias to hide repetitive context, reports 2,600 occurrences of implicit ctx in the new Scala compiler as motivation, models exceptions with a capability type (possibly / canThrow) instead of unchecked throws, shows these are optimizable to plain methods, and uses the same implicit types to implement Kotlin/Swift-style receiver builders (table/row/cell) and to represent algebraic effects without monad transformers.
AI-written summary · about
chapters (20)
- 0:00Intro
- 0:28Biggest difficulty in software engineering
- 2:40Functional programming
- 5:33Culture shock
- 8:15The functional way
- 10:04The direct approach
- 10:48Example
- 15:40Kleiss Lee
- 20:19implicit config
- 24:48implicit config rules
- 25:58type alias
- 34:09for expression
- 34:45algebraic effects
- 36:21explicit vs implicit
- 38:13efficiency
- 38:48comparison
- 41:18receiver functions
- 43:09table functions
- 44:57conclusion
- 45:31block
related talks
57mThe Fun of Functional Programming Panel
44mFunctional Programming You Already Know
01h 44mFunctional Programming: Technical Reasons to Adapt
31mA Primer on Functional Programming
14mFundamentalist Functional Programming
49mFunctional Programming Essentials
43mFunctional Programming in Practice with Kotlin & Scala
36mConcrete Functional Programming
