Topic: data type as a set of values and a set of operations
Topic: data type by lexical constraints
Topic: non-exclusive data type
Topic: range data type
Topic: restricted and extended types
Topic: set data type
Topic: type retract
Topic: undefined, null, and other signal values
Topic: units
Topic: value as an object
Topic: variable as reference to a value
| |
Summary
A type is identified with a set of values. For instance a 16-bit integer is a value between -32K and +32K, while a boolean is the value true or false. A type's value may include a unit such as 10 years or 10 apples. A type defines a map of possible values for an object. In Scott's type theory, the range of a type's retract identifies the type's values. Set operations define derived types. (cbb 5/80)
A data type or type retract defines a subset of the universal type as values of a data type. Often the type system will partition the universal type though this is not necessary.
Though this view holds for simple types, it is difficult to consider with more complicated types since the value space is much richer. Often it is the components of an object that are seen as values instead of the object as a whole. The values may change; they may be checked procedurally; and their use as arguments may be fundamentally to the type of those values. (cbb 1/90 4/98)
Subtopic: type as values
Quote: a data type is a set of values [»nordB3_1976]
| Quote: a domain or scalar data type is a named set of scalar values; name equivalence [»dateCJ_1998]
| Quote: a data type is a character string that names a domain of values; domains and values are abstract [»harmDE5_1991]
| Quote: a partition type system allows one type for a value; used in most production programming systems such as C and FORTRAN
| Quote: a data type may partition a domain (disjoint) or use a predicate (overlapping sets) [»cartR1_1985]
| Quote: Merlin defines data type as a set of values [»hehnEC7_1975, OK]
| Quote: specify a data space by a set constructor [»stanT_1967, OK]
| Quote: a property has an associated set of allowable values [»katzJH_1963, OK]
| Subtopic: type as value, name, and fields
Note: is type part of value? [»cbb_1990, OK]
| Note: a value is a type ID (a name) and 0 or more fields; field names belong to the type [»cbb_1990, OK]
| Subtopic: hardware types
Quote: C-- types are words and floating-point values of various sizes; e.g., bits16, float64 [»ramsN6_2000]
| Quote: C-- types only for the allocation and use of machine resources; e.g., the mapping of variables to registers [»ramsN6_2000]
| Quote: use one or more 'long' annotations instead of required decimal places; otherwise mismatch between number and its representation [»wirtN6_1966]
| Subtopic: types as ranges of values
Quote: a set of state equivalences defines the abstract values of an object in a class in terms of values of the component objects [»hendP9_1975]
| Quote: associate persistence with values and separate type from extent; e.g., the integer extent is almost useless; may want multiple extents [»buneP5_1986]
| Quote: if types define subsets of a universal type, then their unions and intersections are well-defined [»reynJC9_1983]
| Quote: a free variable in a form has a range that define its admissible values
| Subtopic: extensional types
Quote: mathematical definitions of types as extensional sets miss the importance of type checking [»morrJH10_1973]
| Quote: traditional set theory defines sets by their contents -- not relevant to types [»kentW_1978]
| Quote: the data type of an object does not depend on its value, but rather its source and use; type should not be extensional [»morrJH10_1973]
|
Related Topics
Topic: data type as a set of values and a set of operations (16 items)
Topic: data type by lexical constraints (15 items)
Topic: non-exclusive data type (16 items)
Topic: range data type (17 items)
Topic: restricted and extended types (35 items)
Topic: set data type (16 items)
Topic: type retract (12 items)
Topic: undefined, null, and other signal values (34 items)
Topic: units (23 items)
Topic: value as an object (29 items)
Topic: variable as reference to a value (21 items)
|