Leftover curry and reheated Pizza: how functional programming nourishes software reuse

Martin Odersky, Philip L. Wadler · 2002

Functional programmers and reuse engineers dine at the same table. Delicacies like type abstraction and higher order functions are meat and potatoes for those who need to reuse code parameterised by types and operations. The article starts with a review of modern functional languages. Isolation has given way to systems that interact with C and COM components. Code quality can rival C. Functional programs deliver calls in Brussels, route planes through Paris, and play CDs over networks at Cornell. The article then describes Pizza, an attempt to make functional ideas accessible to a wider community by embedding them in Java. Pizza contains Java as a subset, so it is easy to learn, and it compiles to the Java Virtual Machine, so it runs anywhere Java runs, including Web browsers. We focus on how Pizza is designed to add parametric types on top of existing Java libraries, enhancing reuse. Applications of functional languages have been described elsewhere (P. Wadler, 1998); the paper describes salient features of the latest version of Pizza.

Read the paper · More papers on PaperTik