Overview
Syllabus
Introduction
What went wrong
Outline
Financial System
State
Single State
Illegal States
Diagram
Representation
Impossible
The Ideal
Can you do it
Do something else
People really like coffee
Coffee is very complicated
Programming a robot
Ordering coffee
Ordering Irish coffee
What is the issue
Espresso
Other Illegal States
Why
Irish Coffee
algebraic data types
required dependencies
no exceptions
algebraic datatypes
not a magical solution
another scenario
tasty ratio
legal states
invariants
examples
more examples
brewing coffee
model brewing
desiredstatespace
imperative interface
adding expectations
implementing prep flow
type parameters
declarative code
easier to comprehend
potential bugs
fewer tests
safer refactoring
parallel refactoring
statespace
techniques
next steps
resources
bug
question
Taught by
Code Sync