Given a sufficiently strong type system, you can model your problem domain in such a way that invalid states become unrepresentable. This is one of the corner stones of encapsulation, but requires a lot of effort in mainstream object-oriented languages. In functional languages like F# and Haskell, on the other hand, this is possible using a purely declarative approach to types. Once your types can guarantee that only valid states are representable, Property-Based Testing becomes a breeze.
In this talk, we'll look at using the powerful combination of F# types and properties to address an example problem.
Dave Miller, Developer Experience and Evangelism Director, Microsoft APAC
Today, developers face the challenge of evolving and growing their business. But this is an exciting time as we race to build the next-generation of applications that can instantly analyze large amounts of data, run on any device or platform, and scale to meet the needs of dynamic businesses.