Write a Blog >>
ICFP 2016
Sun 18 - Sat 24 September 2016 Nara, Japan
Fri 23 Sep 2016 10:35 - 11:00 at Noh Theater - Types Chair(s): David Duke

As part of our software toolkit at a major financial institution
we have a library for relational algebra.
This library is written in C++ and the type checking of the operations on the relations is very dynamic; all relations have the same static type.
Of course, relational algebra operations have stringent type constraints,
and since we believe in static typing, we would prefer these to be checked at compile time.

We have managed to get full static type checking of the relational code,
using some modern extensions to the Haskell type system, such as
closed type families, type level strings, user-defined kinds, and custom type errors.
The static type checking incurs no runtime overhead compared to the dynamically checked library.

Some effort has gone into making the use of the typed library similar to the dynamically typed version.
We have also tried to produce good error messages when something is wrong.

Fri 23 Sep

Displayed time zone: Osaka, Sapporo, Tokyo change

10:35 - 11:25
TypesHaskell at Noh Theater
Chair(s): David Duke University of Leeds
Experience Report: Types for a Relational Algebra Library
Embedding Session Types in Haskell
Sam Lindley University of Edinburgh, UK, J. Garrett Morris University of Edinburgh, UK