Algebraic Data Types

2016-06-07

If a language is to be extensible at all, it has to give the programmer a way to define new types. Haskell provides user-defined disjoint types as one of its solutions to this problem. A disjoint type is a type that has more than one kind of constructor. These turn out to be very useful in representing expressions of a programming language internally, so we will make heavy use of them.

We will also cover pairs, which we will use a lot, and records, which we will use infrequently.

Videos

Activity

In-class code