$K#CML Glossary
In the definitions that follow an entry in the glossary is referred to in emphasised text like this.
Binding
	Binding refers both to the process of associating a value with an identifier and to the association itself. Bindings are placed in environments, and are introduced using declarations. Essentially they give names to objects.
Constructor
	A constructor is the function use to create instances of a data type. For instance the declaration datatype a = b of int will define b as a constructor for the new type a.Declaration
	Declarations are ways of introducing identifiers in CML. Some of the declarations in ML are val which declares values, type for types, datatype for datatypes, and exception for exceptions. See the declaration topics.
Environment
	The environment consists of three components, the Value Environment, the Exception Environment, and the Type Environment. Each component is an association of names to values, exceptions or types respectively. The environment is used essentially as a way of giving of name to something. declarations are used to modify the environment.
Exceptions
	Exceptions are used for handling exceptional conditions. The exception declaration names an exit, and this can be invoked using raise inside a handle clause. The basic idea is that an expression can either evaluate to a value or raise an exception. The exception be caught and handled separately from other cases by a surrounding expression. See the topic on exceptions and handling them.
Identifiers
	Identifiers are basically names. In ML an identifier is either alphanumeric: a sequence of letters, numbers, underscore, and prime (or quote), or symbolic: a sequence consisting of the characters ! % & $ + - / : < = > ? @ \ ~ ' ^ | *.
Prompt
	The prompt is a string issued by CML and printed in the window to envourage you to type things in. There are 2 prompts in CML. The normal prompt is a dash (-), the secondary prompt is an equals sign (=). The secondary prompt is issued when it expects more input to form an expression, which happens when you forget the terminating semicolon.
Type
	A type is collection of values which have similar properties and are able to be acted on similarly by certain functions. For example 7 is a member of the type int, the type int is the set of all integers.
Value
	A value is andthing in ML that can either be used as an argument to a function or can be the result of a computation.  All ML values have known types.