Type-Driven Development: Designing with Types
In this session, Justin Hewlett and Ted Monchamp will introduce the basics of Algebraic Data Types in F#, practice creating types to express a simple domain, and make invalid states trigger a compile error.
What you'll learn
Static types are an awesome way to model your domain in code, helping to reduce bugs and improve the design of your system. Languages from the ML family, e.g., OCaml/ReasonML, F#, Haskell, have so-called Algebraic Data Types that can express more guarantees in a more succinct way than you might be used to in a typical Java or C# type system. In this session, Justin Hewlett and Ted Monchamp will introduce the basics of Algebraic Data Types in F#, practice creating types to express a simple domain, and make invalid states trigger a compile error. No prior experience with F# or functional programming is required.