23 ;;Quote: a data type is a set of operations specifying an interpretation of values of a universal value space

23 ;;Quote: Scott's universal domain is both typeless and contains an infinite hierarchy of types

23 ;;Quote: Scott found universal domains that contained their own function spaces

24 ;;Quote: type retracts are themselves values of the universal domain

24+;;Quote: a type retract is a continuous function which is the identity over its range (a proper subspace of D)

24+;;Quote: a data type of the universal domain is the type retract for a proper subdomain of the universal domain

24 ;;Quote: computer memory is typeless; the same sequence of bits can be logical values, integers, code, etc.

24 ;;Quote: Scott's universal domain reflects the typelessness of computer memory

24 ;;Quote: in Russell, the meaning of a data type is the meaning of its operations over the universal domain of bit strings

24+;;Quote: in Algol languages, data types are sets of operations with an interpretation of values

24 ;;Quote: a type retract defines the interpretation (value) of each element in the universal domain

24 ;;Quote: a type retract f is the identity on its range (its set of values over the universal domain)

25 ;;Quote: composing functions for assign and access yields a type retract whose range is all legal values for that type

25 ;;Quote: can convert a type retract for a set of operations into one for a set of values; e.g., integers as 32bit values

25 ;;Quote: a type parameter stands for a set of operations used within the procedure's body; similar to procedure parameters

25 ;;Quote: in polymorphic procedures, can declare a set of operations required of a data type parameter

25+;;Quote: syntax for the body of a polymorphic procedure is the same as for a nonpolymorphic procedure

26 ;;Quote: within a polymorphic procedure, a type parameter is a type with a given set of operations

26 ;;Quote: type checking in Russell guarantees representation independent semantics

26+;;Quote: data types interpret values of a universal space where any operation can apply to any value

26 ;;Quote: in Russell, polymorphic procedures can be recursive or procedure arguments

27 ;;Quote: two type attributes are compatible if they are the same identifier (with compatible type arguments)

28 ;;Quote: in Russell, an exportslist defines what is representation and what is visible outside; same as a withlist

28 ;;Quote: use a polymorphic procedure to manipulate an object without accessing it, e.g., for sorting

28 ;;Quote: instead of an argument having rights to use a function, Russell requires the appropriate field

29 ;;Quote: typecompatibility in Russell is independent of the type's definition

29 ;;Quote: a type capsule with an exportlist is equivalent to exporting everything and used in procedures with a type parameter using the same withlist

29 ;;Quote: type parameters are needed for a general, type definition facility

30 ;;Quote: the less needed to explain a language feature, the better its design
