System F with type equality coercions

M Sulzmann, MMT Chakravarty, SP Jones… - Proceedings of the …, 2007 - dl.acm.org
We introduce System FC, which extends System F with support for non-syntactic type
equality. There are two main extensions:(i) explicit witnesses for type equalities, and (ii) …

[PDF][PDF] First-class phantom types

J Cheney, R Hinze - 2003 - ecommons.cornell.edu
Classical phantom types are datatypes in which type constraints are expressed using type
variables that do not appear in the datatype cases themselves. They can be used to embed …

Strongly typed heterogeneous collections

O Kiselyov, R Lämmel, K Schupke - Proceedings of the 2004 ACM …, 2004 - dl.acm.org
A heterogeneous collection is a datatype that is capable of storing data of different types,
while providing operations for look-up, update, iteration, and others. There are various kinds …

Design patterns as higher-order datatype-generic programs

J Gibbons - Proceedings of the 2006 ACM SIGPLAN workshop on …, 2006 - dl.acm.org
Design patterns are reusable abstractions in object-oriented software. However, using
current mainstream programming languages, these elements can only be expressed extra …

Dependently typed programming with singletons

RA Eisenberg, S Weirich - ACM SIGPLAN Notices, 2012 - dl.acm.org
Haskell programmers have been experimenting with dependent types for at least a decade,
using clever encodings that push the limits of the Haskell type system. However, the …

Scrap your boilerplate with class: extensible generic functions

R Lämmel, SP Jones - ACM SIGPLAN Notices, 2005 - dl.acm.org
The'Scrap your boilerplate'approach to generic programming allows the programmer to write
generic functions that can traverse arbitrary data structures, and yet have type-specific …

Compositional programming

W Zhang, Y Sun, BCDS Oliveira - ACM Transactions on Programming …, 2021 - dl.acm.org
Modularity is a key concern in programming. However, programming languages remain
limited in terms of modularity and extensibility. Small canonical problems, such as the …

A monadic framework for delimited continuations

RK Dyvbig, SP Jones, A Sabry - Journal of functional programming, 2007 - cambridge.org
Delimited continuations are more expressive than traditional abortive continuations and they
apparently require a framework beyond traditional continuation-passing style (CPS). We …

An implementation of session types

M Neubauer, P Thiemann - … Symposium, PADL 2004, Dallas, TX, USA …, 2004 - Springer
A session type is an abstraction of a set of sequences of heterogeneous values sent and
received over a communication channel. Session types can be used for specifying stream …

A relationally parametric model of dependent type theory

R Atkey, N Ghani, P Johann - Proceedings of the 41st ACM SIGPLAN …, 2014 - dl.acm.org
Reynolds' theory of relational parametricity captures the invariance of polymorphically typed
programs under change of data representation. Reynolds' original work exploited the typing …