• Publications
  • Influence
Featherweight Java: a minimal core calculus for Java and GJ
Several recent studies have introduced lightweight versions of Java: reduced languages in which complex features like threads and reflection are dropped to enable rigorous arguments about keyExpand
  • 568
  • 130
Featherweight Java: a minimal core calculus for Java and GJ
Several recent studies have introduced lightweight versions of Java: reduced languages in which complex features like threads and reflection are dropped to enable rigorous arguments about keyExpand
  • 748
  • 94
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
"Some half dozen persons have written technically on combinatory logic, and most of these, including ourselves, have published something erroneous. Since some of our fellow sinners are among the mostExpand
  • 915
  • 91
Introduction to functional programming
  • R. Bird, P. Wadler
  • Computer Science
  • Prentice Hall International series in computer…
  • 1988
From the Publisher: This is a thorough introduction to the fundamental concepts of functional programming. The book clearly expounds the construction of functional programming as a process ofExpand
  • 864
  • 64
How to make ad-hoc polymorphism less ad hoc
This paper presents type classes, a new approach to ad-hoc polymorphism. Type classes permit overloading of arithmetic operators such as multiplication, and generalise the “eqtype variables” ofExpand
  • 793
  • 55
Pizza into Java: translating theory into practice
Pizza is a strict superset of Java that incorporates three ideas from the academic community: parametric polymorphism, higher-order functions, and algebraic data types. Pizza is defined byExpand
  • 480
  • 45
Links: Web Programming Without Tiers
Links is a programming language for web applications that generates code for all three tiers of a web application from a single source, compiling into JavaScript to run on the client and into SQL toExpand
  • 329
  • 43
Making the future safe for the past: adding genericity to the Java programming language
We present GJ, a design that extends the Java programming language with generic types and methods. These are both explained and implemented by translation into the unextended language. TheExpand
  • 588
  • 41
Comprehending monads
  • P. Wadler
  • Computer Science
  • LISP and Functional Programming
  • 1 May 1990
Category theorists invented monads in the 1960's to concisely express certain aspects of universal algebra. Functional programmers invented list comprehensions in the 1970's to concisely expressExpand
  • 634
  • 41
Deforestation: Transforming Programs to Eliminate Trees
  • 409
  • 35