Research papers/Type systems

From HaskellWiki
Jump to: navigation, search

Haskell semantics

A static semantics for Haskell, SL Peyton Jones and PL Wadler
unpublished draft, Department of Computing Science, University of Glasgow, 1992.
Typing Haskell in Haskell
Mark P. Jones, In Proceedings of the 1999 Haskell Workshop, Paris, France, October 1999. Published in Technical Report UU-CS-1999-28, Department of Computer Science, University of Utrecht.

Pure type systems

Henk: a typed intermediate language
SL Peyton Jones and E Meijer, Proceedings of the Types in Compilation Workshop, Amsterdam, June 1997.

Unboxed values

Parametricity and Unboxing with Unpointed Types
John Launchbury and Ross Paterson, European Symposium on Programming, LNCS, vol. 1058, pp. 204-218, Springer, Linkping, Sweden, 1996.
Unboxed values as first class citizens
SL Peyton Jones and J Launchbury, Functional Programming Languages and Computer Architecture (FPCA'91), Boston, LNCS 523, Springer Verlag, Sept 1991, pp636-666.

Module system

A Formal Specification of the Haskell 98 Module System
Iavor S. Diatchki, Mark P. Jones, and Thomas Hallgren. Proceedings of the 2002 ACM SIGPLAN workshop on Haskell. Pittsburgh, Pennsylvania. 17 - 28 2002 ISBN 1-58113-605-6
First class modules for Haskell
Mark Shields and Simon Peyton Jones; FOOL'02.
An exploration of modular programs
Electronic proceedings of the 1996 Glasgow Functional Programming Workshop, J Nicklisch and SL Peyton Jones, Ullapool, July 1996.


Imprecise Exceptions, Co-Inductively
Andy Moran, Soeren Lassen, and Simon Peyton Jones. HOOTS'99.
A semantics for imprecise exceptions
Simon Peyton Jones, Alastair Reid, Tony Hoare, Simon Marlow, Fergus Henderson. Proc Programming Language Design and Implementation (PLDI'99), Atlanta.
Asynchronous exceptions in Haskell
Simon Marlow, Simon Peyton Jones, Andy Moran and John Reppy, PLDI'01.
Handling Exceptions in Haskell
A. Reid, Research Report YALEU/DCS/RR-1175, Yale University, August, 1998


Lightweight Extensible Records for Haskell
Mark Jones and Simon Peyton Jones, Haskell Workshop 1999.
Extensible records with scoped labels
Daan Leijen. The 2005 Symposium on Trends in Functional Programming (TFP'05), Tallin, Estonia, September 2005.
First-class labels for extensible rows
Daan Leijen. Technical Report UU-CS-2004-51, Departement of Computer Science, Universiteit Utrecht, 2004.
Haskell Records
J. Peterson, A. Reid, Proceedings of the Haskell Workshop, La Jolla, June 1995.

Meta programming

Dynamic typing as staged type inference
MB Shields, T Sheard, and SL Peyton Jones, POPL98.
Template meta-programming for Haskell
Tim Sheard and Simon Peyton Jones, Proceedings of the Haskell Workshop, Pittsburgh, 2002
Optimising Embedded DSLs using Template Haskell
Sean Seefried, Manuel M. T. Chakravarty, and Gabriele Keller. In Gabor Karsai and Eelco Visser, editors, Third International Conference on Generative Programming and Component Engineering (GPCE'04), LNCS 3286, Springer-Verlag, pages 186-205, 2004. [An earlier draft was presented at the IFL 2003 - 15th International Workshop on the Implementation of Functional Languages, 2003.
Unrolling and Simplifying Expressions with Template Haskell
Ian Lynagh, May 2003.
Automatic skeletons in Template Haskell
Kevin Hammond, Jost Berthold and Rita Loogen, June 2003. Proceedings of 2003 Workshop on High Level Parallel Programming, Paris, France
Typing Template Haskell: Soft Types
Ian Lynagh, August 2004.

Dyanmic typing

Typing dynamic typing
A. I. Baars and S. D. Swierstra. In S. Peyton Jones, editor, Proceedings of the seventh ACM SIGPLAN international conference on Functional programming, pages 157--166. ACM Press, 2002


Theorems for free!
Philip Wadler. 4'th International Conference on Functional Programming and Computer Architecture, London, September 1989.

Type classes

Functional Programming with Overloading and Higher-Order Polymorphism
Mark P. Jones, First International Spring School on Advanced Functional Programming Techniques, Baastad, Sweden, Springer-Verlag Lecture Notes in Computer Science 925, May 1995.
Type classes: exploring the design space
Simon Peyton Jones, Mark Jones, Erik Meijer, Haskell Workshop 1997.
Type classes in Haskell, CV Hall, K Hammond, SL Peyton Jones, and PL Wadler
European Symposium On Programming, LNCS 788, Springer Verlag, pp. 241-256, April 1994.
Derivable Type classes, Ralf Hinze and Simon Peyton Jones
Haskell Workshop 2000.
Implementing Haskell overloading
Lennart Augustsson, 1993. FPCA. 65-73
A system of constructor classes: overloading and implicit higher-order polymorphism
Mark P. Jones, In FPCA '93: Conference on Functional Programming Languages and Computer Architecture, Copenhagen, Denmark, June 1993.
Implementing Type Classes
John Peterson and Mark P. Jones, In Proceedings of ACM SIGPLAN Symposium on Programming Language Design and Implementation, ACM SIGPLAN, June 1993.
A second look at overloading
Martin Odersky, Philip Wadler, Martin Wehr. 7'th International Conference on Functional Programming and Computer Architecture, ACM Press, San Diego, California, June 1995.
How to make ad-hoc polymorphism less ad hoc
Philip Wadler and Stephen Blott. 16'th Symposium on Principles of Programming Languages, ACM Press, Austin, Texas, January 1989.
Type Classes with Existential Types
Konstantin Laufer, Journal of Functional Programming, 1996, May
Combining Type Classes and Existential Types
Konstantin Laufer, Proceedings of the Latin American Informatic Conference (PANEL), 1994

Applications of type classes

Number-parameterized types
Oleg Kiselyov, The Monad.Reader. IssueFive. Oct 2nd, 2005
TypeCase: a design pattern for type-indexed functions
Bruno C. d. S. Oliveira, Jeremy Gibbons. Proceedings of the 2005 ACM SIGPLAN workshop on Haskell. Tallinn, Estonia. 98 - 109, 2005 ISBN:1-59593-071-X
Functional pearl: implicit configurations--or, type classes reflect the values of types
Oleg Kiselyov, Chung-chieh Shan, Proceedings of the 2004 ACM SIGPLAN workshop on Haskell, Snowbird, Utah, USA, 2004 ISBN 1-58113-850-4
Extracting Programs from Type Class Proofs
Martin Sulzmann, 2006
Co-induction and Type Improvement in Type Class Proofs
Martin Sulzmann, Jeremy Wazny and Peter J. Stuckey. 2005

Multi-parameter type classes

Type Inference for Multi-Parameter Type Classes
Martin Sulzmann and Peter J. Stuckey. 2006

Functional dependencies

Type Classes with Functional Dependencies
Mark P. Jones, In Proceedings of the 9th European Symposium on Programming, ESOP 2000, Berlin, Germany, March 2000, Springer-Verlag LNCS 1782.
Sound and Decidable Type Inference for Functional Dependencies
Gregory J. Duck, Simon Peyton Jones, Peter J. Stuckey, and Martin Sulzmann, European Symposium on Programming 2004 (ESOP'04).
Understanding Functional Dependencies via Constraint Handling Rules
Martin Sulzmann, Gregory J. Duck, Simon Peyton-Jones and Peter J. Stuckey.j To appear in Journal of Functional Programming. 2006
Associated Functional Dependencies
Martin Sulzmann and Edmund Soon Lee Lam. 2005

Generalised Algebraic Data Types

Simple unification-based type inference for GADTs
Simon Peyton Jones, Dimitrios Vytiniotis, Stephanie Weirich, and Geoffrey Washburn. Submitted to PLDI 2005
Wobbly types: type inference for generalised algebraic data types
S Peyton Jones, G. Washburn, and S. Weirich. 2004.
Translating Generalized Algebraic Data Types to System F
Martin Sulzmann and Meng Wang. 2005
Stratified type inference for generalized algebraic data types
François Pottier and Yann Régis-Gianas, 2006

Associated types

Associated types with class
Manuel M. T. Chakravarty, Gabriele Keller, Simon Peyton Jones, Simon Marlow) POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT sysposium on Principles of programming languages, pages 1--13, Long Beach, California, USA, ACM Press, 2005
Associated Type Synonyms
Manuel M. T. Chakravarty, Gabriele Keller, and Simon Peyton Jones. In Proceedings of The Tenth ACM SIGPLAN International Conference on Functional Programming, ACM Press, pages 241-253, 2005.
ML Modules and Haskell Type Classes: A Constructive Comparison
Stefan Wehr Diplomarbeit. Albert-Ludwigs-Universitt Freiburg, Fakultt fr Angewandte Wissenschaften, Institut fr Informatik, November 2005.
System F with Type Equality Coercions
Martin Sulzmann, Manuel M. T. Chakravarty, and Simon Peyton Jones.

Arbitrary-rank polymorphism

Putting type annotations to work
Martin Odersky and Konstantin Läufer. Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages. St. Petersburg Beach, Florida, United States. 54 - 67 1996 ISBN 0-89791-769-3

Phantom types

First-class phantom types
James Cheney and Ralf Hinze. Technical Report TR2003-1901, Cornell University, 2003.

Implicit parameters

Global variables in Haskell
John Hughes. J. Funct. Program. 14(5): 489-502 (2004)
Explicit Implicit Parameters
A. Dijkstra and S. D. Swierstra. UU-CS 2004-059, 2004.

Object oriented Haskell

Object-Oriented Style Overloading for Haskell
Mark Shields and Simon Peyton Jones; BABEL workshop '01.
Interfacing Haskell with Object-Oriented Languages
Andr T. H. Pang and Manuel M. T. Chakravarty. In Greg Michaelson and Phil Trinder, editors, Implementation of Functional Languages: 15th International Workshop, IFL 2003, Edinburgh, UK, September 8-11, 2003, Revised Papers, LNCS 3145, Springer-Verlag, pages 20-36, 2004.
Haskell++: An Object-Oriented Extension of Haskell
Jan Sparud and John Hughes. Haskell Workshop 1995
Haskell's overlooked object system
Oleg Kiselyov and Ralf Lämmel, submitted for journal publication; online since 30 Sep. 2004;

Restricted Datatypes

Restricted datatypes
John Hughes. 1999 Haskell workshop

Pattern matching

Pattern guards

Pattern Guards and Transformational Patterns
Martin Erwig and Simon Peyton Jones; Haskell Workshop 2000.


Views: An Extension to Haskell Pattern Matching
Warren Burton, Erik Meijer, Patrick Sansom, Simon Thompson and Phil Wadler.
Views: A way for pattern matching to cohabit with data abstraction
POPL 14 (1987), 307-313.