mads@lfcs.ed.ac.uk (Mads Tofte (LFCS)) (10/10/88)
The Programming Language Standard ML The programming language Standard ML has evolved over fourteen years. It began as ML, a language for programming proof systems; since then its design has been extended and refined to make it a truly general purpose language. Many researchers and users have contributed to this work, which has been coordinated at Edinburgh University. The design and the formal definition have proceeded hand-in-hand, and a document which defines the language completely, syntax and semantics, is now available: The Definition of Standard ML Version 2 by Robert Harper, Robin Milner and Mads Tofte. For a copy of the Definition, please write to Dorothy McKie, Department of Computer Science, University of Edinburgh, The King's Buildings, Edinburgh EH9 3JZ, U.K., and ask for report ECS-LFCS-88-62. The price is 5.00 pounds, payable in advance. (Cheques should be made payable to Edinburgh University.) Standard ML consists of a Core Language and a Modules Language. The Core is predominantly a functional programming language although imperative language features are provided as well. Functions are values that can be passed as arguments to functions and returned as results. The user can define data types and abstract types and well-typing is decidable at compile time using the polymorphic type discipline which allows, for instance, a function to be applied to values of different types. The Modules are intended for ``programming in the large.'' They allow the programmer to collect together Core Language declarations into units called STRUCTURES. Structures have ``types'', called SIGNATURES, and a type discipline at the Modules level ensures that structures are put together in a consistent way. There are currently two implementations of Standard ML which are known to deal with the full language. They are by David MacQueen and his colleagues at AT&T Bell Laboratories, New Jersey, based upon the experimental implementation at Edinburgh University, and by David Matthews at Cambridge University, distributed commercially by Imperial Software Technology. Other currently active implementations are by Michael Hedlund at the Rutherford-Appleton Laboratory, by Robert Duncan and Simon Nichols in Aaron sloman's group at the University of Sussex and by Malcolm Newey and his group at the Australian National University. It is planned not to produce further versions of the Definition for at least a couple of years. We hope that the Definition will be used wherever the language is implemented and taught. Robert Harper Robin Milner Mads Tofte 22 September 1988
aarons@cvaxa.sussex.ac.uk (Aaron Sloman) (11/19/88)
A belated response (addition) to a September posting: >From: mads@lfcs.ed.ac.uk (Mads Tofte (LFCS)) >Newsgroups: comp.lang.misc >Subject: The Definition of Standard ML. >Message-ID: <829@etive.ed.ac.uk> > The Programming Language Standard ML ...... > Other currently active implementations are by > Michael Hedlund at the Rutherford-Appleton Laboratory, by Robert > Duncan and Simon Nichols in Aaron sloman's group at the University of > Sussex and by Malcolm Newey and his group at the Australian National > University. ....... > Robert Harper Robin Milner Mads Tofte PML, the Sussex University version of ML (currently compatible with Standard ML Version 1, with some extensions for mixed language programming) is part of the Poplog development environment which also includes Common Lisp, Prolog and Pop-11, an integrated screen editor, window manager, etc. PML provides access to the other facilities in Poplog. PML has been implemented as one of several "front end" incremental compilers in Poplog, so it automatically becomes available along with the other languages, on any machine to which Poplog is ported. All the languages are fully compiled to machine code. Poplog has recently been ported to Sequent Symmetry Sun-386i, and Sun-4. Ports to other 80386-based machines are expected to follow. (The Sun-386i port took under two weeks.) It previously ran on VAXen(VMS/Unix), Sun2, Sun3, HP 9000/300 series, Apollo with BSd Unix, Orion 1/05 (Clipper + unix). Poplog ML is available on all of these machines, but requires a poplog licence. Although it does not (yet) have the latest extensions to ML it is being used for teaching ML, as it provides convenient online "teach" "help" and library facilities all accessible via the editor. Poplog is distributed commercially by SD-Scicon, but massive discounts are available for educational sites (direct from Sussex in the case of UK sites). Aaron Sloman, School of Cognitive and Computing Sciences, Univ of Sussex, Brighton, BN1 9QN, England ARPANET : aarons%uk.ac.sussex.cvaxa@nss.cs.ucl.ac.uk JANET aarons@cvaxa.sussex.ac.uk BITNET: aarons%uk.ac.sussex.cvaxa@uk.ac UUCP: ...mcvax!ukc!cvaxa!aarons or aarons@cvaxa.uucp Phone: University +(44)-(0)273-678294 (Direct line. Diverts to secretary)