This mechanism allows the user to specify the desired precision of an object in a portable way. Type specifications can be parameterised meaning that the precision of a particular type can be changed by altering the value of one constant. Appropriate intrinsic inquiry functions are defined to query the precision of given objects. User-defined types, which are constructed from existing types, can now be constructed. Defining objects in this way is more intuitive and makes programming easier and less error prone.
Explicit recursion is now available.
For reasons of efficiency the user must declare a procedure to be recursive but it can then be used to call itself. Internal procedures are now allowed. The language thus appears to have been extended. The module can now be used like a library unit. All intrinsic operations and procedures are included in the module and are therefore available for all objects of this type.