Do we Need Dependent Types?

Daniel Fridlender
Mia Indrika

March 2001


Inspired by Danvy, we describe a technique for defining, within the Hindley-Milner type system, some functions which seem to require a language with dependent types. We illustrate this by giving a general definition of zipWith for which the Haskell library provides a family of functions, each member of the family having a different type and arity. Our technique consists in introducing ad hoc codings for natural numbers which resemble numerals in $\lambda$-calculus

Available as PostScript, PDF, DVI.


Last modified: 2003-06-08 by webmaster.