Navigation   notoc

Blog   notoc nav

Blog   notoc

2016-05-06 Store validation state in types

Store validation state in types to avoid use of invalid data and unnecessary revalidation.

2016-05-05 Xunit specification testing

Xunit has Theories, which enable a single test to be run over a set of data. Wouldn't it be great of the data could be auto-generated?

2014-07-30 Algebraic Data Types for clear thinking

Objects conflate construction, implementation hiding, (subtype) polymorphism, and the grouping of similar functionality. Algebraic Data Types (ADTs) help untangle these concepts.

2014-05-16 C#: Functional warts

Some features of C# make functional programming difficult. Let’s call them warts.

2014-05-09 C#: Parametricity and type classes

The benefits of parametricity and type classes.

2013-11-02 Closing the gaps in C#: Linq

Linq is monads in disguise.

2013-11-01 Closing the gaps in C#: Immutable records

Immutability makes equational reasoning possible. C# doesn’t make this easy because it has no simple mechanism for copy-on-write update of records.

2013-10-31 Closing the gaps in C#: Maybe

Null shouldn’t exist. It does, but let’s not use it.