If you enjoy reading these exercises then please buy Crista’s book to support her work.
Style 23 – Declared Intentions
- Existence of a run-time typechecker.
- Procedures and functions declare what types of arguments they expect.
- If callers send arguments of types that aren’t expected, the procedures/functions are not executed.
The problem of type checking is a solved problem in statically typed languages, so by programming in F# there’s almost nothing we need to really do for this style.
Using the same solution from the Pipeline (aka functional) style, I have added a few explicit type declarations to better comply with the constraints.
You can find the source code for this exercise here.