The process by which a construct achieves its run-time effect is called execution. Execution of a declaration is also called elaboration. Execution of an expression is also called evaluation. That is, the declaration of a generic unit represents a contract between the body of the generic and instances of the generic. Generic units can be used to perform the role that macros sometimed play in other languages.
Integer types comprise the signed integer types and the modular types.
A signed integer type has a base range that includes both positive and negative numbers, and has operations that may raise an exception when the result is outside the base range. A library unit is a separately compiled program unit, and is always a package, subprogram, or generic unit. A root library unit, together with its children and grandchildren and so on, form a subsystem. An object is either a constant or a variable. An object contains a value.