A new approach to generic functional programming
R Hinze - Proceedings of the 27th ACM SIGPLAN-SIGACT …, 2000 - dl.acm.org
This paper describes a new approach to generic functional programming, which allows us to
define functions generically for all datatypes expressible in Haskell. A generic function is …
define functions generically for all datatypes expressible in Haskell. A generic function is …
Once upon a polymorphic type
K Wansbrough, S Peyton Jones - … of the 26th ACM SIGPLAN-SIGACT …, 1999 - dl.acm.org
We present a sound type-based'usage analysis' for a realistic lazy functional language.
Accurate information on the usage of program subexpressions in a lazy functional language …
Accurate information on the usage of program subexpressions in a lazy functional language …
Faking it simulating dependent types in haskell
C McBride - Journal of functional programming, 2002 - cambridge.org
Dependent types reflect the fact that validity of data is often a relative notion by allowing prior
data to affect the types of subsequent data. Not only does this make for a precise type …
data to affect the types of subsequent data. Not only does this make for a precise type …
Putting curry-howard to work
T Sheard - Proceedings of the 2005 ACM SIGPLAN workshop on …, 2005 - dl.acm.org
The Curry-Howard isomorphism states that types are propositions and that programs are
proofs. This allows programmers to state and enforce invariants of programs by using types …
proofs. This allows programmers to state and enforce invariants of programs by using types …
Functional programming with overloading and higher-order polymorphism
MP Jones - … Programming: First International Spring School on …, 1995 - Springer
Abstract The Hindley/Milner type system has been widely adopted as a basis for statically
typed functional languages. One of the main reasons for this is that it provides an elegant …
typed functional languages. One of the main reasons for this is that it provides an elegant …
Some History of Functional Programming Languages: (Invited Talk)
DA Turner - International Symposium on Trends in Functional …, 2012 - Springer
LNCS 7829 - Some History of Functional Programming Languages Page 1 Some History of
Functional Programming Languages (Invited Talk) DA Turner University of Kent & Middlesex …
Functional Programming Languages (Invited Talk) DA Turner University of Kent & Middlesex …
Type classes with existential types
K Läufer - Journal of Functional Programming, 1996 - cambridge.org
We argue that the novel combination of type classes and existential types in a single
language yields significant expressive power. We explore this combination in the context of …
language yields significant expressive power. We explore this combination in the context of …
Associated type synonyms
Haskell programmers often use a multi-parameter type class in which one or more type
parameters are functionally dependent on the first. Although such functional dependencies …
parameters are functionally dependent on the first. Although such functional dependencies …
Parametricity and unboxing with unpointed types
J Launchbury, R Paterson - European Symposium on Programming, 1996 - Springer
In lazy functional languages,⊥ is typically an element of every type. While this provides
great flexibility, it also comes at a cost. In this paper we explore the consequences of …
great flexibility, it also comes at a cost. In this paper we explore the consequences of …
Derivable type classes
Generic programming allows you to write a function once, and use it many times at different
types. A lot of good foundational work on generic programming has been done. The goal of …
types. A lot of good foundational work on generic programming has been done. The goal of …