FP Applications List


In May 1994, Robert Giegerich and John Hughes organised a very
successful Dagstuhl workshop on Functional Programming in the Real
World.  It became clear at this workshop that there are a number of
real-world applications of functional programming, and I would like to
maintain a list of these.

Programs written in any functional language (SML, CAML, Haskell,
Miranda, etc.) are welcome.  Functional is used in the broad sense that
includes both `pure' programs (no side effects) and `impure' (some use
of side effects).  The main criterion for being real-world is that the
program was written primarily to perform some task, not primarily to
experiment with functional programming.  If in doubt whether your
application is suitable for the list, please ask.

I will post the completed list to the comp.lang.functional and
comp.lang.ml newsgroups (but not to the Types forum, unless sufficient
interest is expressed).  The list will be updated every six months or
so.  A future version may be published in the Journal of Functional

Below are two sample entries.  Please submit your entries in the same
format (just use one of the entries as a skeleton and fill in your own
details).  Highlight any interesting features of your application in
the Summary field, e.g., `Written in SML but uses no side effects' or
`Is ten times shorter and runs ten times faster than an equivalent C
program' (or the same with `longer' and `slower').  For ease of
distribution, please format your entry so that it is not wider than the
dashed lines below (72 characters).  Submit by e-mail to the address

I thank David Goblirsch and Marc Feeley for the samples.  Now it's your
turn to contribute!  Cheers,  -- Phil Wadler (wadler@dcs.glasgow.ac.uk)


Application Name:	Mitre Speech Recognition System

Summary:		This software partially implements the segmental
			K-means algorithm for training hidden Markov
                        models (HMM) for automatic speech recognition.

                        NOTE: Other programs are required for a full
                        HMM design system.

Developer:		David M. Goblirsch / The MITRE Corporation

Contact:		David M. Goblirsch
			The MITRE Corporation
			7525 Colshire Drive
			McLean, Virginia  22102--3425
			Mail Stop W622

			Email:	dmgob@mitre.org
			Voice:	(703) 883-5450
			FAX:	(703) 883-6708

Number of Users:	1 (as of June 1994)

Number of Sites:	1 (MITRE)

In use: 		December 1993--now

Language:		Haskell 1.2

Compilers:		hbc 0.999.4, ghc 0.19 (plus bug patches)

Availability:		Distributed for free for research and
			development and education; for other uses, you
			must contact The MITRE Corporation.

			FTP from nebula.cs.yale.edu, directory
			pub/haskell/incoming, file hmms-2.0.tar.gz.

Related Publications:	None


Application Name:	Montreal Protein Analysis Package
			MC-SYM (optimized variant)

Summary:		This software is an optimized variant of the
			MC-SYM system.  This system computes the 3D
			shape of a piece of nucleic acid molecule given
			the sequence of nucleotides and a set of
			constraints to satisfy.  It is mostly used by
			molecular biologists.

Developer:		Marc Feeley, Marcel Turcotte

Contact:		Marc Feeley
			Universite de Montreal
			Dep. d'informatique et r.o.
			C.P. 6128, succursale CENTRE-VILLE
			Montreal (Quebec)
			Canada  H3C 3J7

			Email:	feeley@iro.umontreal.ca
			Voice:	(514) 343-7477
			FAX:	(514) 343-5834

Number of Users:	Not known

Number of Sites:	More than 30 (including 3 pharmaceutical

In use: 		Since 1989

Language:		Miranda, Scheme, Multilisp, ML, C

Compilers:		Miranda 2.019, Gambit 2.2, SML/NJ

Availability:		FTP from ftp.merl.com:/pub/LASC/nucleic.tar.Z

Related Publications:

Feeley, M. and Turcotte, M. and Lapalme, G., "Using Multilisp for
Solving Constraint Satisfaction Problems: an Application to Nucleic
Acid 3D Structure Determination" to appear in the journal "Lisp and
Symbolic Computation".

Major, F. and Lapalme, G. and Cedergren, R., "Domain Generating
Functions for Solving Constraint Satisfaction Problems", Journal of
Functional Programming, Vol 1, No 2, 1991, pp 213-227.

Major, F. and Turcotte, M. and Gautheret, D. and Lapalme, G. and
Fillion, E. and Cedergren, R., "The Combination of Symbolic and
Numerical Computation for Three-Dimensional Modeling of RNA", Science,
Vol 253, Sept 1991, pp 1255-1260.