An introduction to the high-level language Standard ML

  • John Ophel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 693)


Standard ML is a modern high-level programming language. This paper presents an introduction to the language, concentrating on the highlevel features of ML that assist in managing the complex process of developing software. The features of ML examined are its type system, the functional nature of ML, and its modularization and encapsulation facilities that include abstract data types, exceptions, and modules.


Binary Tree Type System Abstract Data Type Empty List Polymorphic Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. The MIT Press, Cambridge, 1990.Google Scholar
  2. 2.
    ANSI. American National Standard for Information Systems — Programming Language — C (ANSI Document ANSI X3.159-1989). American National Standards Institute, New York, 1990.Google Scholar
  3. 3.
    A. Appel. A critique of Standard ML. Technical report, CS-TR-364-92, Princeton University, February 1992.Google Scholar
  4. 4.
    A. Appel and D. MacQueen. A Standard ML compiler. In Functional Programming Languages and Computer Architecture, pages 301–324. Springer-Verlag Lecture Notes In Computer Science 274, 1987.Google Scholar
  5. 5.
    M. Tofte. Four lectures on Standard ML. Technical report, Report ECS-LFCS-89-73, Laboratory for Foundations of Computer Science, Computer Science Department, Edinburgh University, 1989.Google Scholar
  6. 6.
    J. Ophel, G. Cormack, and D. Duggan. Combining overloading and parametric polymorphism in ML. Technical report, CS-92-04, Department of Computer Science, University of Waterloo, 1992.Google Scholar
  7. 7.
    P. Hudak, S. Peyton Jones, and P. Wadler (eds). Report on the programming language Haskell. Technical report, March 1992. version 1.2.Google Scholar
  8. 8.
    J. Reppy. CML: A higher-order concurrent language. In SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 293–305. SIGPLAN Notices 26(6), 1991.Google Scholar
  9. 9.
    E. Cooper and G. Morrisett. Adding threads to Standard ML. Technical report, CMU-CS-90-186, School of Computer Science, Carnegie Mellon University, 1990.Google Scholar
  10. 10.
    M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young. Mach: A new kernel foundation for UNIX development. In USENIX Association Summer Conference Proceedings, pages 93–112, 1986.Google Scholar
  11. 11.
    R. Harper. Introduction to Standard ML. Technical report, Report ECS-LFCS-86-14. Laboratory for Foundations of Computer Science, Computer Science Department, Edinburgh University, 1986.Google Scholar
  12. 12.
    A. Wikström. Functional Programming Using Standard ML. Prentice-Hall, Hertfordshire, 1987.Google Scholar
  13. 13.
    L.C. Paulson. ML for the Working Programmer. Cambridge University Press, Cambridge, 1992.Google Scholar
  14. 14.
    C. Reade. Elements of Functional Programming. Addison-Wesley, Reading, MA, 1989.Google Scholar
  15. 15.
    J. Hughes. Why functional programming matters. The Computer Journal, 32(2):98–107, 1989.Google Scholar
  16. 16.
    B. Meyer. Object-oriented Software Construction. Prentice-Hall, Hertfordshire, 1988.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • John Ophel
    • 1
  1. 1.Department of Computer ScienceUniversity of WaterlooWaterlooCanada

Personalised recommendations