The power of composition
summary
Argues composition builds large systems from tiny, testable pieces and demonstrates it with C# and F# code: Roman numerals via a pipeline, FizzBuzz using a two-track bind (monads) pattern that handles divisibility by 3, 5 and 15, and an object-free web app built on Giraffe/ASP.NET that composes handlers. Shows practical tools: pipe operator, currying and partial application (F# gives currying for free), and Kleisli composition to join async/optional flows; the examples compile and run, illustrating one-way data flow and easy extension.
AI-written summary · about
chapters (12)
- 0:00Introduction and welcome
- 1:56Philosophy behind composition
- 7:11Functional programming basics
- 15:13Composing functions with piping
- 22:59Composing types in functional programming
- 25:05Roman numerals example with composition
- 36:56Currying and partial application
- 41:07FizzBuzz with monads and bind
- 50:55Monads demystified
- 53:41Kleisli composition for web services
- 58:12Benefits of composition in programming
- 1:00:38Q&A and closing remarks
related talks
01h 02mThe Power of Composition
01h 02mThe Power of Composition
59mPipeline-oriented programming
01h 00mFunctional-first programming with F#
01h 01mFunction Composition in Programming Languages
01h 06mThe Functional Programmer's Toolkit
01h 09mFunctional Programming with C#
27mComputation expressions in context
