Datatype-generic programming involves parametrization by the shape of data, in the form of type constructors such as `list of'. Most approaches to datatype-generic programmin...
Generalized algebraic data types (GADTs), sometimes known as "guarded recursive data types" or "first-class phantom types", are a simple but powerful generaliz...
Simon L. Peyton Jones, Dimitrios Vytiniotis, Steph...
We describe a design pattern for writing programs that traverse data structures built from rich mutually-recursive data types. Such programs often have a great deal of “boilerpl...
Abstract Reasoning about the termination of equational programs in sophisticated equational languages such as ELAN, MAUDE, OBJ, CAFEOBJ, HASKELL, and so on, requires support for ad...
A use case involving integrating results from search engines illustrates how the meta-metadata language facilitates interoperable metadata semantics. Formal semantics can be hard ...
Yin Qu, Andruid Kerne, Andrew M. Webb, Aaron Herst...