Aalice.253
net.applic
utzoo!decvax!ucbvax!ARPAVAX:mhtsa!alice!dbm
Thu Dec 17 10:50:15 1981
Some applicative languages
I'd like to provide some pointers to some less well known applicative languages.
       ISWIM - A mixture of APL and LISP
       William H. Burge
       IBM RC 6967, 1/31/78 (IBM Yorktown Heights)

       This is a combination of ISWIM (If you See What I Mean), Landin's
       sugared lambda calculus (see "The next 700 programming languages",
       CACM 9,3 (1966) and also Burge's book, Recursive Programming Techniques)
       with APL data structures and operations.

There have been several other implementations of ISWIM (which was functional
in style, but like Lisp, not purely applicative, i.e. it allowed side-effects).
They include PAL, a language implemented by Arthur Evans at MIT (about 1968),
and more recently ML, the metalanguage of the Edinburgh LCF system.  See

       "A metalanguage for interactive proof in LCF"
       M. Gordon, et al.
       POPL 78 Proceedings, pp 119-130

       Edinburgh LCF
       Gordon, Milner, and Wadsworth
       Springer-Verlag LNCS Vol 78, 1979
       [the first third is a tutorial and manual for ML]

ML was originally implemented in Lisp 1.6, but there is a new VMS Pascal
implementation by Luca Cardelli (C.S. Dept, Univ. of Edinburgh).  The most
remarkable thing about ML is that it is strongly typed, but allows
"polymorphic types" and does not require type declarations.

A close cousin of ML is the language Hope.

       HOPE: An experimental applicative language
       R. Burstall, D. MacQueen, and D. Sannella
       1980 LISP Conference, Stanford, Aug. 1980, pp 136-143.

       Structure and Parameterization in a Typed Functional Language
       D. MacQueen and R. Burstall
       [preliminary version available from me, research!dbm].

Hope is implemented in POP-2, an elegant but little known British alternative
to Lisp.  It is currently being reimplemented in Franz Lisp here at Bell Labs.
The main focus of Hope is on the type system and modularity.

There are quite a few other languages which are applicative at least in style,
such as Scheme (Sussman and Steele), the languages for computational algebra
of Jenks, Trager and Davenport at Yorktown Heights, OBJ (Goguen), DSI (Friedman
and Wise).  I can provide more pointers if there is interest.

       Dave MacQueen
       research!dbm

-----------------------------------------------------------------
gopher://quux.org/ conversion by John Goerzen <[email protected]>
of http://communication.ucsd.edu/A-News/


This Usenet Oldnews Archive
article may be copied and distributed freely, provided:

1. There is no money collected for the text(s) of the articles.

2. The following notice remains appended to each copy:

The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996
Bruce Jones, Henry Spencer, David Wiseman.