Commentary on Standard ML by Milner R., Tofte M.

By Milner R., Tofte M.

The total mathematical description of the useful programming language ML used to be given in Milner, Tofte, and Harper's Definition of normal ML. This spouse quantity explains intensive the that means, or semantic concept, of ML. jointly, the 2 volumes offer a whole realizing of the main popular of a brand new crew of useful programming languages that comes with Haskell and Scheme. In making the Definition more straightforward to appreciate, the authors not just clarify what ML is, they clarify why it truly is. They current a number of the rigorous research that helps the Definition together with a variety of theorems that specific vital houses of the language. The statement is usually a operating rfile that exhibits the way the really expert thought of ML can give a contribution to broader examine on language layout and semantics. Contents: Preface. Executing an easy software. Dynamic Semantics for the center. Dynamic Semantics for the Modules. Static Semantics for the center. kind Declarations and Principality. Static Semantics for the Modules. Signature Matching. Elaboration of Functors. Admissible Semantic items and Proofs. Elaboration of Signature Expressions. primary Signatures. Appendixes: facts of Principality. Identifier prestige. options to routines. error and Ambiguities.

Show description

Read Online or Download Commentary on Standard ML PDF

Best nonfiction_3 books

Additional resources for Commentary on Standard ML

Example text

A very simple example is structure lamp = struct datatype bulb = ON | OFF fun switch(ON) = OFF | switch(OFF) = ON end Having encapsulated this pair of declarations as a structure, one can then (or later) decapsulate it using the open declaration open lamp and the effect is just that the components of the structure, here bulb and switch, become directly available. 11 From this point of view, one can think of the above structure as a pair bulb, cl of a type and a value, here a (particular) type bulb and a closure cl for switch.

35 4 Static Semantics for the Core This chapter and the next concern the static semantics for the Core [Sec 4]. In Chapter 1 we saw roughly how elaboration works; here we begin to discuss its finer details. In particular, in this chapter we discuss types versus type schemes, the closure operation on types and environments, explicit type variables, polymorphic references and exceptions. 1 Construct an elaboration tree for the atomic expression {mother = "Elisabeth", age = 27} starting from an arbitrary context C.

14 Interfaces are not needed in the afore-mentioned type-theoretic treatments of modules, apparently because those accounts are not concerned with variations in shape. 28 3 DYNAMIC SEMANTICS FOR THE MODULES We shall begin by studying a first approximation to Modules, which provides nothing more than the ability to encapsulate and name environments. This entails a sublanguage containing essentially just structure expressions and structure declarations. If this were all that Modules provided, it would still be of some use.

Download PDF sample

Commentary on Standard ML by Milner R., Tofte M.
Rated 4.70 of 5 – based on 29 votes