Academia.eduAcademia.edu
paper cover icon
A Functional Notation

A Functional Notation

Matthias Neubauer
Peter Thiemann
Abstract
Functional dependencies help resolve many of the ambiguities that result from the use of multi-parameter type classes. They e#ectively enable writing programs at the type-level which significantly enhances the expressive power of Haskell's type system. Among the applications of this technique are the emulation of dependent types, and precise typechecking for XML and HTML combinator libraries. Unfortunately, the notation presently used for functional dependencies implies that the type-level programs are logic programs, but many of its applications are conceptually functional programs. We propose an alternative notation for functional dependencies which adds a functional-programming notation to Haskell's type classes and makes applications of functional dependencies significantly more readable. We apply the new notation to our examples and study the problems arising due to Haskell's open world assumption and overlapping instances.

Michael Sperber hasn't uploaded this paper.

Let Michael know you want this paper to be uploaded.

Ask for this paper to be uploaded.