Designing Functional Programs
summary
Argues that the payoff from functional style is function composition and lazy evaluation, not just immutability or lambdas, and shows Java 8’s limits: checked exceptions break stream pipelines, so treat errors as data and use promises/completable futures (data+error channels) or Observables/Flowable (data+error+completed channels) for N-item flows. Proposes a circle of purity (pure functions) surrounded by a thin impurity ring for IO, advocates persistent collections (Scala Vector / tries) and reports a ~33 ns cost to copy/modify a 100k-element vector.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 2:19What am I really trying to do
- 9:01Higherorder functions
- 11:11Objectoriented programming
- 13:44Functional programming
- 17:12Haskell
- 22:03GHC I
- 24:23Functional Purity
- 28:51Functional Data Structures
- 43:08Observables
- 43:38Completeable
- 44:25Handling Exceptions
- 45:20Summary
related talks
52mFunctional Programming with Java 8
49mTen Common Mistakes Made in Functional Java 1
48mEmbrace the Func - How Far has Functional Programming Come in Java?
51mFunctional Programming with Java
36mHow functional programming change my Java code
57mTen Common mistakes made in Functional Java
55mFunctional Programming Patterns with Java8
57mLearning To Code In Functional Style with Java
