The Definition of Standard ML (Revised)

Part 1 Syntax of the core: reserved words special constants comments identifiers lexical analysis infixed operators derived forms grammar syntactic restrictions. Part 2 Syntax of modules: reserved words identifiers infixed operators grammar for modules syntactic restrictions. Part 3 Static semantics for the core: simple objects compound objects projection, injection and modification types and type functions type schemes scope of explicit type variables non-expansive expressions closure type structures and type environments inference rules further restrictions. Part 4 Static semantics for modules: semantic objects type realization signature instantiation functor signature instantiation enrichment signature matching inference rules. Part 5 Dynamic semantics for the core: reduced syntax simple objects compound objects basic values basic exceptions function closures inference rules. Part 6 Dynamic semantics for modules: reduced syntax compound objects inference rules. Part 7 Programmes. Part 8 Appendices.

[1]  John McCarthy,et al.  LISP 1.5 Programmer's Manual , 1962 .

[2]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[3]  P. J. Landin,et al.  The next 700 programming languages , 1966, CACM.

[4]  H. B. Curry Modified basic functionality in combinatory logic , 1969 .

[5]  James H. Morris,et al.  Lambda-calculus models of programming languages. , 1969 .

[6]  R. Hindley The Principal Type-Scheme of an Object in Combinatory Logic , 1969 .

[7]  David Meredith,et al.  In memoriam: Carew Arthur Meredith (1904-1976) , 1977, Notre Dame J. Formal Log..

[8]  Joseph A. Goguen,et al.  Putting Theories Together to Make Specifications , 1977, IJCAI.

[9]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[10]  Robin Milner,et al.  A Metalanguage for interactive proof in LCF , 1978, POPL.

[11]  Robin Milner,et al.  Edinburgh lcf: a mechanized logic of computation , 1978 .

[12]  Rod M. Burstall,et al.  HOPE: An experimental applicative language , 1980, LISP Conference.

[13]  Robin Milner,et al.  Principal type-schemes for functional programs , 1982, POPL '82.

[14]  David B. MacQueen Modules for standard ML , 1984, LFP '84.

[15]  Thierry Despeyroux,et al.  Executable Specification of Static Semantics , 1984, Semantics of Data Types.

[16]  Luís Damas,et al.  Type assignment in programming languages , 1984 .

[17]  Donald Sannella,et al.  Program specification and development in standard ML , 1985, POPL.

[18]  David B. MacQueen Using dependent types to express modular structure , 1986, POPL '86.

[19]  Andrew W. Appel,et al.  A Standard ML compiler , 1987, FPCA.

[20]  Pierre-Louis Curien,et al.  The Categorical Abstract Machine , 1987, Sci. Comput. Program..

[21]  Robin Milner,et al.  A Type Discipline for Program Modules , 1987, TAPSOFT, Vol.2.

[22]  Lawrence C. Paulson,et al.  Logic And Computation , 1987 .

[23]  M. Tofte Operational Semantics and Polymorphic Type Inference , 1988 .

[24]  Robin Milner,et al.  Definition of standard ML , 1990 .

[25]  Robin Milner,et al.  Commentary on standard ML , 1990 .

[26]  Mads Tofte,et al.  Type Inference for Polymorphic References , 1990, Inf. Comput..

[27]  Andrew W. Appel,et al.  Standard ML of New Jersey , 1991, PLILP.

[28]  David Berry The Edinburgh SML Library , 1991 .

[29]  Mads Tofte,et al.  Principal signatures for higher-order program modules , 1992, POPL '92.

[30]  John C. Mitchell,et al.  On the type structure of standard ML , 1993, TOPL.

[31]  Christopher D. Clack,et al.  Programming With Standard Ml , 1993 .

[32]  Maria-Virginia Aponte Extending record typing to type parametric modules with sharing , 1993, POPL '93.

[33]  Stefan Kahrs,et al.  Mistakes and Ambiguities in the definition of Standard ML , 1993 .

[34]  Dave Berry Lessons from the Design of a Standard ML Library , 1993, J. Funct. Program..

[35]  Andrew W. Appel,et al.  A critique of Standard ML , 1993, Journal of Functional Programming.

[36]  Xavier Leroy,et al.  Polymorphism by name for references and continuations , 1993, POPL '93.

[37]  Xavier Leroy,et al.  Manifest types, modules, and separate compilation , 1994, POPL '94.

[38]  Jeffrey D. Ullman Elements of ML programming , 1994 .

[39]  Mads Tofte,et al.  A Semantics for Higher-Order Functors , 1994, ESOP.

[40]  Mark Lillibridge,et al.  A type-theoretic approach to higher-order modules with sharing , 1994, POPL '94.

[41]  Andrew K. Wright Simple imperative polymorphism , 1995, LISP Symb. Comput..

[42]  Aleksy Schubert,et al.  The EML Kit Version 1 , 1996 .

[43]  Robert Harper,et al.  A Type-Theoretic Account of Standard ML 1996 (Version 1). , 1996 .

[44]  Chris Reade,et al.  ML for the Working Programmer (2nd edition) by L. C. Paulson, Cambridge University Press, 1996. A Practical Course in Functional Programming Using Standard ML by R. Bosworth, McGraw Hill, 1996. , 1997, Journal of Functional Programming.