J. Backus. Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. CACM, 21(8):613--641, August 1978.
 H.B. Curry and R. Feys. Combinatory Logic. North-Holland Pub. Co., Amsterdam, 1958.
 L. Damas and R. Milner. Principal type schemes for functional programs. In Proceedings of the 9th ACM Symposium on Principles of Programming Languages, pages 207--212, Albuquerque, N.M., January 1982.
 K-F. Faxen A static semantics for Haskell Journal of Functional Programming, 2002.
 J.R. Hindley. The principal type scheme of an object in combinatory logic. Transactions of the American Mathematical Society, 146:29--60, December 1969.
 P. Hudak, J. Fasel, and J. Peterson. A gentle introduction to Haskell. Technical Report YALEU/DCS/RR-901, Yale University, May 1996.
 Mark P. Jones. A system of constructor classes: overloading and implicit higher-order polymorphism. Journal of Functional Programming, 5(1), January 1995.
 Mark P. Jones. Typing Haskell in Haskell. Haskell Workshop, Paris, October 1999.
 P. Penfield, Jr. Principal values and branch cuts in complex APL. In APL '81 Conference Proceedings, pages 248--256, San Francisco, September 1981.
 S.L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall International, Englewood Cliffs, New Jersey, 1987.
 Unicode Consortium. The Unicode Standard, Version 3.0. Addison Wesley, Reading, MA, 2000.
 P. Wadler and S. Blott. How to make ad hoc polymorphism less ad hoc. In Proceedings of the 16th ACM Symposium on Principles of Programming Languages, pages 60--76, Austin, Texas, January 1989.