Articles

Contractive and Uninhabited Types in Whiley

An interesting feature of Whiley is that it supports true recursive types.  These are surprisingly tricky to get right, and recently we came across some interesting examples that the Whiley compiler should (but doesn’t) check for.

Recursive Types

The following illustrates the syntax for recursive types in Whiley:

type Link is {any data, LinkedList . . . → Read More: Contractive and Uninhabited Types in Whiley