Dependently Typed Programming

Conor's materials

Lecture 1

This is basically a magic show, more about sketching the possibilities which advanced type systems open, than about communicating technical material. At the same time, it's a demo of the Strathclyde Haskell Enhancement. If you have Haskell (and cabal), you can try this kit with cabal install she.

The slides are here, now that I've photographed them.

Further reading:

Lecture 2

Agda basics: some vectors, at a less crazy pace; some examples of improved hygiene; views; simply typed lambda calculus.

Humourless Marxism alert: there's quite a lot of boilerplate here. Hopefully, on Friday, we'll see the method in this madness.

Further reading:

Lecture 3

...was the back end of lecture 2.

Lecture 4

Universes, Ornaments, Algebras is based on my unfinshed draft Ornamental Algebras, Algebraic Ornaments. It's an exploration of incremental design of datatypes.

Starting ConfigurationCrib file
L4Basics.agda
L4Desc.agdaL4DescCrib.agda
L4Nat.agdaL4NatCrib.agda
L4Orn.agdaL4OrnCrib.agda
L4List.agdaL4ListCrib.agda
L4AlgOrn.agdaL4AlgOrnCrib.agda
L4Le.agda
L4Vec.agdaL4VecCrib.agda
L4Hutton.agdaL4HuttonCrib.agda


Last modified: Fri Jun 25 21:33:44 BST 2010