Logic vs. side effects: functional goodness you don't hear about
summary
Argues that separating logic from side effects yields pure functions for testable, cacheable, parallelizable code and limits IO to a small interpreter. Uses C# examples: LINQ, immutable collections, Tasks as result wrappers, and a command‑line currency-rate demo that keeps a cache without mutation. Classifies four side effects and claims three can be eliminated (mutating args, exceptions-as-control, most global state) while IO is handled via dependency injection or free monads (stack‑safe, million‑call demo).
AI-written summary · about
chapters (8)
- 0:00Start
- 5:47Functional Programming
- 7:53Safety the code does what you think it does
- 10:58Clarity
- 11:53Side effects
- 12:30Pure Functions
- 34:44The pattern
- 48:05Free monads
related talks
01h 01mLeaving side effects aside
14mFundamentalist Functional Programming
31mSide-effects are not your friend
37mManaging Side Effects with Swift
56mFunctional Programming on .NET - The Best of Both Worlds
38mSide Effects are The Complexity Iceberg
01h 08mThinking Functionally with C#
44mEffects, Algebraically yours ..
