Functional Programming

Philip Wadler

How enterprises use functional languages, and why they don't

Philip Wadler Chapter in The Logic Programming Paradigm: A 25 Year Perspective, Shakertown, April 1998. Springer-Verlag. (This paper combines the February and August 1998 columns for Sigplan Notices, ''An angry half dozen'' and ''Why no one uses functional languages''.)

Logic programming and functional programming row in the same boat. Methods used to achieve success with one often transpose to the other, and both face similar obstacles. Here I offer a compendium of success stories for functional programs, followed by a list of obstacles to more widespread use of functional programming, in the belief that much of this experience is relevant to logic programmers. This material first appeared as columns in ACM SIGPLAN Notices. The final section contains a few remarks specific to the relations between functional and logic programming.

Available in: pdf

Functional Programming: Why no one uses functional languages

SIGPLAN Notices 33(8):23-27, August 1998.

This column lists eight reasons why functional languages are not more widely used (compatibility, libraries, portability, availability, packagability, tools, training, and popularity) and two non-reasons (performance and ``they just don't get it''), then draws four lessons.

Available in: ps, ps.gz.

Functional Programming: An angry half-dozen

Column, SIGPLAN Notices 33(2):25-30, February 1998. [NB. Table of contents on the cover of this issue is wrong.]

``Have you used it in anger yet?''

The time is a dozen years ago, the place is Oxford, and my fellow postdoc has just scrutinized my new bike. He's admired the chrome, checked the gears, noted the Kryptonite lock. Now he wants to know if I've used it to serious purpose. Gleaming chrome is well and good, but will it run you through the woods?

``Have you used it in anger yet?''

Having read the title of this column, you may have just asked the same question, though perhaps in different words. You've scrutinized functional languages. You've admired the elegance of lambda calculus, checked the benchmarks from the compilers, noted the security provided by strong typing. Now you want to know if they have been used to serious purpose. Mathematical elegance is well and good, but will it run that mission-critical system?

Here are a half-dozen examplars of functional programs used in anger.

Available in: ps, ps.gz.

Editorial: A HOT opportunity

Philip Wadler. Journal of Functional Programming, 7(2):127--128, March 1997.

The Java phenomenon means that programmers that once laughed at garbage collection and strong typing have started to use it daily, and this opens up a wonderful opportunity for the functional programming community....

Available in: dvi, ps, dvi.gz, ps.gz.

Philip Wadler,