| Translating Generalized Algebraic Data Types (2008) | |||||||||||||||
Abstract | |||||||||||||||
| 1 Introduction Generalized algebraic data types (GADTs) are an extension of (boxed) existen-tial types [17]. The novelty of GADTs is that we may include syntactic type equality constraints, i.e. equality among Herbrand terms [16], to refine the typesof constructors. Thus, we can type more programs. The following is a classic example and defines a strongly-typed evaluator for a simple language. Note thatwe make use of Haskell style syntax [11] in examples. | |||||||||||||||
Publication details | |||||||||||||||
| |||||||||||||||