Functional Patterns for the Object Oriented
summary
Compares Haskell idioms to C# 7 features and shows concrete results: uses tuples and pattern matching to simplify AST-based code generation for a JSON‑RPC C# client, uses a code-construction library instead of string concatenation, and applies QuickCheck style randomized API fuzzing with arbitrary and shrink to find bugs. The property-based tests find hundreds of crashes and one subtle buffer-overflow that needs a 32-line sequence to trigger; shrink reduces failures to minimal, actionable repros.
AI-written summary · about
chapters (19)
- 0:00Intro
- 1:42Datatype
- 4:29Pattern Matching
- 6:27Code Generation
- 10:07Code Room
- 10:45Abstract Syntax Trees
- 13:28Algebraic Data Types
- 19:30Generic Types
- 21:34LM
- 22:43Type Clause
- 23:48enum
- 29:02generating tuples
- 32:34generating lists
- 34:16propertybased testing
- 35:29property simplification
- 38:03shrink
- 42:28API testing
- 45:56Summary
- 47:29Questions
related talks
01h 02mAdvanced Pattern Matching in C#
45mFunctional programming vs. Object-oriented Programming
58mFunctional Programming with C#
01h 03mFunctional Programming with C#
59mHaskell Design Patterns for Genericity & Asynchronous Behavior
01h 09mFunctional Programming with C#
56mFunctional Programming on .NET - The Best of Both Worlds
01h 47mFunctional C++
