Data type the basic concept underlying the representation of data in programming
languages
Data type definition 1 a set of values
Data type definition 2 a set of values, together with a set of operations on that values having certain
properties
Data type abstraction the basic abstraction mechanism
Type checking the process a translator goes through to determine whether type information in
a program is consistent
Type inference the process of attaching types to expressions
Type constructors mechanisms used with a group of basic types to construct more complex types
User-defined types types created using type constructors
Type declaration used to associate a name with a new data type
Anonymous type a type with no name
Type equivalence rules for determining if two types are the same
Type system methods for constructing types, the type equivalence algorithm, type inference
rules, and type correctness rules
Strongly typed a language that specifies a statically applied type system that guarantees all
data-corrupting errors will be detected at the earliest possible point
Unsafe programs programs with data-corrupting errors
Legal programs proper subset of safe programs; those programs accepted by a translator
, CSE 3302 Exam 4
Weakly-typed language one that has loopholes that may allow unsafe programs
Untyped languages languages without static type systems
Polymorphism allows names to have multiple types while still permitting static type checking
Predefined types those types supplied with a language, from which all other types are
constructed
Simple types have no other structure than their inherent arithmetic or sequential structure
Enumerated types sets whose elements are named and listed explicitly
Subrange types contiguous subsets of simple types specified by giving least and greatest
elements
Ordinal types types that exhibit a discrete order on the set of values
Type constructors Set operations that can be used to construct new types from existing ones
Cartesian product consists of all ordered pairs of elements from U and V, given two sets U and V
Tuple a purer form of record structure in ML that is essentially identical to the
Cartesian product
Class a data type found in object-oriented languages that includes member functions
or methods
Union of two types formed by taking the set theoretic union of the sets of their values
Discriminated unions a tag or discriminator is added to the union to distinguish the type of its
elements
Undiscriminated unions lack the tags; assumptions must be made about the type of any value