Topic: data types in Thesa

topics > computer science > programming > Group: Thesa programming system

data type
data type as a set of variables
implementation of Thesa data objects
object-oriented data types
primitive data types for Thesa
Thesa data model
Thesa data structures
using pointers in Thesa


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 up

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 up

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 up

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 up

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 up

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 up

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 up

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
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) up

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 up

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 up

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 up

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 up

Topic: ordered data types
Topic: range data type
Quote: a data type is ordered if it includes functions pred and succ

Related Topics up

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)

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