Group: data type
Topic: data type as a set of variables
Topic: implementation of Thesa data objects
Topic: object-oriented data types
Topic: primitive data types for Thesa
Topic: Thesa data model
Topic: Thesa data structures
Topic: using pointers in Thesa
| |
Summary
An alternative used in Thesa is to pre-define data names for use anywhere in the database. This guarantees that a single name will have a single meaning while at the same time removing the declarative overhead from the programmer. (cbb 5/80)
Subtopic: type as name
QuoteRef: cbb_1973 ;;5/7/79 so a type is simply a name
| Quote: for Thesa a type is just a set of descriptions with a shared name; but the user sees a closely related collection; needs work [»cbb_1980, OK]
| Subtopic: parameters
Group: parameters
| Topic: parameter passing by value
| Topic: parameter passing by reference
| Topic: parameter passing by value-result
| Topic: input or output parameters
| Topic: parameters as argument place holders
| Topic: temporary data objects
| Quote: a variable is an abstraction of an operand [»cbb_1973, OK]
| Quote: in C, arguments are only passed by value; parameters are equivalent to conveniently initialized local variables [»ritcDM7_1978c]
| Quote: a typestate is a type annotation that captures state attributes such as uninitialized; mutually exclusive [»stroRE1_1986]
The data type of a parameter is a set of operations which includes all operations used in the procedure. (cbb 1/90)
| Subtopic: data types
Topic: data type as a set of variables
| Topic: non-exclusive data type
| Topic: data type as a set of operations
| Quote: all procedures make assumptions about the form of data they manipulate [»robsD8_1981]
| Quote: a trait is a property of an object; it defines a set of operations which the object must have [»currG11_1986]
| Quote: with type-completeness, can define declaration in terms of parameter/argument bindings
| Quote: in a type-complete language, parameterization and application are universally applicable [»demeA_1980]
| Quote: with type-completeness, any name that can be declared can also be a parameter [»demeA_1980]
| Quote: Clearinghouse attaches an access control list to each domain and property [»oppeDC7_1983]
| Quote: variant-type -- a type could be all data structures that contain name and birth-date fields [»parnDL3_1976]
| Quote: prefer predicate view of types over partition view; e.g., 3 is simultaneously a real, an integer, a positive integer, etc. [»pratV1_1983]
| Quote: if treat types as intervals then identify those elements which do not belong to a type [»cartR1_1985]
| Quote: if data type by intervals not included then type information can be partial [»cartR1_1985]
| Quote: a programmer sees types as partitioning values into classes with common attributes and operations [»wegnP10_1986]
| Subtopic: abstract type
Topic: abstract data type
| Topic: value as an abstraction
| Topic: type algebras, typed lambda calculus, and type-complete languages
| Quote: an abstract interface can not capture the essence of a program; due to an unbridgeable semantic gap [»weisM11_1987]
| Quote: primary goal of programming language is to program in abstractions instead of hardware facilities [»wirtN3_1976]
| Quote: an abstract data type captures the essence of an object while a trait is a property
| Quote: program verification sees types as behavioral invariants that instances of the type must satisfy [»wegnP10_1986]
| Quote: the complex numbers is an abstraction that is represented by a variety of different sets
| Quote: specification types for abstract data types, representation types for implementing them [»boomHJ9_1976]
| Quote: spec-types have different representations but the same set of operators; operators are generic [»parnDL3_1976]
| Subtopic: type checking
Group: type checking
| Quote: type checking catches errors which are independent of the context of an operation relative to other operations [»stroRE1_1986]
| Quote: nonsensical execution causes arbitrary damage; may not effect program behavior until much later [»stroRE1_1986]
| Quote: type checking in Russell guarantees representation independent semantics [»demeA_1978]
| Quote: type-checking sees types as syntactic constraints that guarantees compatibility of composite expressions
| Subtopic: information hiding
Topic: information hiding
| Quote: connections between modules are their assumptions about each other; generally more than calling sequences [»parnDL8_1971]
| Quote: no component of a complex system should depend on the internal details of another component [»ingaDH8_1981a]
| Quote: design modules by hiding difficult or likely-to-change design decisions; not flowcharts or processing steps [»parnDL12_1972]
| Quote: Cedar system development by overloading a new module with the same interface; periodically rebuild to remove old versions [»swinDC7_1985]
| Quote: if a module changes its exported interface, can hide it in a configuration that exports the old interface
| Quote: data independence means maintaining data/file structures separately from programs; e.g., the size of the ZIP code field [»morgH_1980]
| Quote: a module interface specification is a formal description of each module as a black box; allows independent development [»parnDL2_1986]
| Quote: information hiding: user has everything needed to use a module but nothing more; the implementer has everything to implement a module and nothing more [»maclBJ_1987]
| Quote: if interface is separate from implementation can make minor changes safely [»donaJ7_1985a]
| Subtopic: polymorphism
Topic: generic operations and polymorphism
| Topic: type parameter
| Quote: can have a library of data-independent procedures by postponing some declarations until compile-time [»hollGH12_1971]
| Quote: object-orientation overcomes the complexity of polymorphism in extensible languages [»ingaDH9_1986]
| Quote: type parameters are needed for a general, type definition facility [»demeA_1978]
| Quote: within a polymorphic procedure, a type parameter is a type with a given set of operations [»demeA_1978]
| Subtopic: Generic operations is a kind of syntactic abstraction formed by removing all type information from a program. It implies that operations with the same name have the same semantic properties. This may or may not be true. (cbb 1/90)
Quote: for syntactic typing just need 1 type per identifier; two types per id may balance lookup vs. number of procedures [»cbb_1980, OK]
| Subtopic: object-oriented
Topic: object-oriented data types
| Group: type inheritance
| Topic: type hierarchy
| Quote: object-orientation treats types as behavior specifications that can be composed, modified, and inherited [»wegnP10_1986]
| Quote: inheritance is important for management of change, especially long-term [»wegnP10_1986]
| Quote: Smalltalk objects are typed by their class [»shocJF9_1979]
| Quote: a system is division of a whole into components with properties and actions; it is descriptive but not inherent [»nygaK10_1986]
| Quote: a system is a part of the world which someone chooses to see as made of components with properties and actions [»nygaK_1981]
| Quote: with object-orientation, a data manipulation routine receives a pointer to an object which has procedure and data attributes associated with it [»baroAJ3_1982]
| Quote: in object-oriented programs, the system's components are objects with properties and actions that transform the system's state [»nygaK10_1986]
| Quote: Smalltalk can define a class in the context of an object with given properties [»goldA3_1976]
| Quote: classification view of systems depends on a global perspective; communication view is localized and observable, like Plato's cave dwellers [»wegnP10_1986]
| Quote: Smalltalk's inheritance mechanism makes it difficult to find which method is executed, especially if the receiver's class is unknown [»nielJ5_1989, OK]
| Quote: class inheritance doesn't preserve encapsulation because functions are scattered among classes with many interdependencies [»wyboN4_1990]
| Quote: type inheritance describes common features while strong typing erects fire walls between types [»wolfW9_1989]
| Quote: strong typing requires more work but catches more bugs early; makes programs more useful [»wolfW9_1989]
| Quote: in object-oriented programming, multiple inheritance is very useful; if not provided, it is approximated [»wolfW9_1989]
| Subtopic: conversion
Topic: type conversion
| Topic: data type compatibility
| Quote: C's cast operator forces a conversion from one data type to another [»ritcDM7_1978c]
| Quote: coercions added to C++ because of natural mappings and use of mixed-mode arithmetic in numerical work [»stroB5_1989]
| Quote: automatic type conversion is a bad idea because it reduces type checking [»clarBL9_1973]
| Quote: a transferable data type can be converted to another format with no type checking [»morrJH_1974, OK]
| Subtopic: units
Topic: units
| Quote: a variable and a unit should be the same; keeps manipulations visible [»karrM5_1978]
| Quote: units can be carried in calculations where they obey arithmetic laws [»karrM5_1978]
| Quote: units define equivalent values between two value sets [»chenPP3_1976]
| Quote: units allow programmers to distinguish different kinds of integers [»cleaJC_1975]
| Quote: with unit specifications, the compiler prevents nonsensical combinations [»cleaJC_1975]
| Quote: represented units as a vector of integral powers of a small set of primary dimensions; rules for arithmetic [»baldG8_1987]
| Quote: a problem of units is that different properties, e.g., length and height, have the same units [»parnDL3_1976]
| Subtopic: order
Topic: ordered data types
| Topic: range data type
| Quote: a data type is ordered if it includes functions pred and succ [»abraH12_1977]
|
Related Topics
Group: data type (34 topics, 730 quotes)
Topic: data type as a set of variables (11 items)
Topic: implementation of Thesa data objects (27 items)
Topic: object-oriented data types (29 items)
Topic: primitive data types for Thesa (82 items)
Topic: Thesa data model (58 items)
Topic: Thesa data structures (59 items)
Topic: using pointers in Thesa (49 items)
|