Map
Index
Random
Help
Topics
th

Topic: data type as a set of operations

topics > computer science > data > Group: data type



Topic:
abstract data type
Topic:
data type as constructors, selectors, and predicates
Topic:
data type as a set of values and a set of operations
Topic:
data type as a set of variables
Topic:
generic operations and polymorphism
Topic:
interface type
Topic:
object-oriented data types
Topic:
union data type
Topic:
user-defined data type
Topic:
variable as function that accesses an object's value

Summary

A data type can be defined by its operations, properties and constraints which define how its objects are allocated, deallocated, initialized, accessed, modified, and replaced. The minimal operation set is a predicate for identifying typed objects, accessing functions for selecting type components, and an allocating function for constructing typed objects. (cbb 5/80)

Does a type specify behavior or is it a classification? The data type of a parameter is a set of operations which includes all operations used in the procedure. The data type of an object-oriented object is its class which defines a set of operations and a set of local variables. The data type of a variable defines a set of generic operations, a set of allowable procedure parameters, and how to construct an instance.

This view is particularly good for polymorphic procedures defined on parameters with a type that has a given set of operations. In Russell, the set of operations is called a signature. (cbb 1/90)

Subtopic: data type as operations up

Quote: a data type is a set of operations
Quote: things may have a datatype but not be data; e.g., an occam X channel that transports X values [»meekB9_1994]
Quote: a data type is a finite collection of operations
Quote: a data type is a set of operations that interpret values and variables in a universal value space [»donaJ7_1985]
Quote: the type of an object is its operations; a type error occurs when an object does not have a method for a message [»rodrNR8_1993]
Quote: data abstraction is the definition of a data type in terms of operations on the data type; a value or state is otherwise inaccessible [»taivA4_1993]
Quote: classify types by the operations allowed for each type [»tennRD_1975, OK]
Quote: to define a class need to define a complete set of operations. This is an important shift of emphasis from defining a data structure; lots of benefits [»stroB_1991]
Quote: a data type is ordered if it includes functions pred and succ [»abraH12_1977]
Quote: can define union types for types which participate in the same operations but do not share other attributes [»maclBJ12_1983]
Quote: a Pegasus type can be characterized by the roles it plays in arguments and results of various functions
Quote: Smalltalk is safe since type mismatches ('message not understood') are reported with a notify window [»teslL8_1981]
Quote: CLU type-checks parameterized types via a 'where' clause that defines the required operations [»liskB_1996]

Subtopic: type as behaviors up

Quote: a type is a behavioral template; consists of sets of operations, properties, and constraints [»zdonSB11_1986]
Quote: a type specifies behavior, i.e., a set of operations, properties, and constraints [»zdonSB10_1986]
Quote: can modify a type by adding, renaming, or deleting operations [»demeA3_1979]
Quote: object-orientation treats types as behavior specifications that can be composed, modified, and inherited [»wegnP10_1986]
Quote: in the message/object model, objects have a class which implements such operations as 'compare'; a sort operation could use this for any type [»coxBJ7_1983]
Quote: the external view of an object is its protocol, i.e., the set of messages that it responds to [»robsD8_1981]

Subtopic: type as use up

Quote: A is a subtype of B if it can be used wherever B is used; A is a subclass of B if it inherits methods and variables [»rodrNR8_1993]

Subtopic: polymorphic types, signatures up

Quote: each Russell expression has a signature identifying the operations that can be performed on the expression's value [»donaJ7_1985]
Quote: type checking in Russell consists of matching argument signatures with parameter signatures [»demeA3_1979]
Quote: a type signature is its name and the signatures of all operations that use that type [»demeA3_1979]
Quote: a type in Russell is a set of procedures, functions, types, and schemes chosen by apply selection [»demeA3_1979, OK]
Quote: in polymorphic procedures, can declare a set of operations required of a data type parameter [»demeA_1978]
Quote: within a polymorphic procedure, a type parameter is a type with a given set of operations [»demeA_1978]
Quote: a type parameter stands for a set of operations used within the procedure's body; similar to procedure parameters [»demeA_1978]
Quote: Alphard's type declaration may include a list of necessary and sufficient operations [»wulfWA6_1976, OK]

Subtopic: schemes, traits, and events up

Quote: a scheme completely specifies the behavior of a type family; initialization, assignment, operations, and finalization [»mitcJG_1977]
Quote: a scheme is a parameterized type that yields procedures, functions, types, and a signature [»demeA3_1979]
Quote: a trait is a property of an object; it defines a set of operations which the object must have [»currG11_1986]
Quote: a trait is a property of an object that consists of a set of applicable operations
Quote: DSEE's Domain/OS manages files by their type; a type implements one or more traits of related operations; e.g., the protection trait [»lubkD6_1991]
Quote: use properties to distinguish types that have the same operations; e.g., the property 'LIFO' for type 'stack'; simulate with dummy functions [»rodrNR8_1993]
Quote: the trait 'is_integer_variable' is a combination of 'stores_integer' and 'has_name' traits [»currG11_1986]
Quote: an object's 'alphabet' is the set of names of events that it can engage in [»hoarCA_1985]

Subtopic: operator complexity up

Quote: users and programs make assumptions about operator complexity; e.g., push and pop should be amortized constant time, string copy should be linear [»dehnJC4_1998]

Subtopic: restricted types up

Quote: in computing, restricted data types are assumed; e.g., text editors do not work on binary files
[»coxBJ7_1983]

Related Topics up

Topic: abstract data type (64 items)
Topic: data type as constructors, selectors, and predicates (20 items)
Topic: data type as a set of values and a set of operations (16 items)
Topic: data type as a set of variables (11 items)
Topic: generic operations and polymorphism (67 items)
Topic: interface type (50 items)
Topic: object-oriented data types (29 items)
Topic: union data type (12 items)
Topic: user-defined data type (13 items)
Topic: variable as function that accesses an object's value
(21 items)

Updated barberCB 5/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.