Map
Index
Random
Help
Topics
th

QuoteRef: cardL_1991

topics > all references > ThesaHelp: references c-d



ThesaHelp:
references c-d
Topic:
programming by sequential implementation
Topic:
program execution
Topic:
variable as reference to storage
Topic:
is a name a literal string or a symbol
Topic:
declaration scope
Group:
expression evaluation
Topic:
compile-time execution
Topic:
variable as reference to a value
Topic:
pointers to data
Topic:
error safe systems
Topic:
structural equivalence vs. name equivalence of data types
Group:
data type
Topic:
data type by name or tags
Topic:
arrays
Topic:
index sequence for array access
Topic:
variables for array bounds
Topic:
sub-sequences
Topic:
data record
Topic:
initialization of data
Topic:
packed data
Topic:
set data type
Topic:
dynamic type checking
Topic:
ref_any or Object data type
Topic:
data type as a set of values and a set of operations
Topic:
object-oriented objects
Topic:
restricted and extended types
Topic:
replacement as setting a reference to a value
Group:
type inheritance
Topic:
efficiency
Topic:
exception handling by try..catch
Group:
type checking
Topic:
opaque and partially-opaque data types
Topic:
data type by access rights
Topic:
type-safe and secure languages

Reference

Cardelli, L., Donahue, J., Glassman, L., Jordan, M., Kalsow, B., Nelson, G., "[Modula-3:] Language definition", pp. 11-66, in Nelson, G. (ed.), Systems Programming in Modula-3, Englewood Cliffs, New Jersey, Prentice Hall, 1991. Google

Other Reference

http://www.research.digital.com/SRC/m3defn/html/m3.html

Notes

boldface and '...' used for literals.

Quotations
11 ;;Quote: a Modula-3 program is a computation on locations of digital components
11+;;Quote: a variable is a set of locations that represent a mathematical value according to a convention determined by the variable's type; v is a member of T, and T contains v
11+;;Quote: an identifier is a symbol or name for a variable, type, procedure, etc. within the scope of its declaration
12 ;;Quote: an expression specifies a computation that produces a value or variable; constant if determined at compile-time
12+;;Quote: a designator is an expression that denotes a variable or a variable's value; either readonly or writable
12 ;;Quote: errors may be reported at compile time or run time; unchecked errors may only occur in unsafe modules
12 ;;Quote: Modula-3 uses structural equivalence for data types even though Modula-2 used name equivalence
12+;;Quote: two types are structurally equivalent if their definitions are the same when expanded; i.e., constant expressions replaced by their values, type names replaced by their definitions; infinite if recursive
12+;;Quote: with structural equivalence, allow a type expression wherever a type is required
13 ;;Quote: in Modula-3, every expression has a unique type
13+;;Quote: values may be members of many types, but Modula-3 objects and traced reference values have an allocated type that is tested by TYPECASE
14 ;;Quote: a Modula-3 array consists of elements of the same size and type, and an index by values of an ordinal type
14 ;;Quote: Modula-3 has fixed and open arrays; the size of an open array is determined when allocated or bound
14+;;Quote: an open array is only used for formal parameters, the referent of a reference type, the element type of another open array, or the type of a literal array
14 ;;Quote: arrays are assignable if they have the same element type and shape; an open array requires a runtime shape check
14+;;Quote: arrays may be assigned to arrays of different index types or to overlapping subarrays
16 ;;Quote: a record is a list of field declarations that define a name, a type, and a default value; either the type or default may be omitted
16 ;;Quote: a packed type defines the bit length of a value, without gaps between fields; an implementation may disallow any length
16+;;Quote: a Modula-3 set is represented by a packed bit array
18 ;;Quote: a reference type may be branded with a unique text constant; useful for subtyping and persistent data storage
18 ;;Quote: use TYPECASE to test the referent type of any traced object
21 ;;Quote: an object is a data record of fields and a method suite of procedures that accept the object as a first argument
21+;;Quote: an object type determines a prefix of the data record and method suite; subtypes may define additional fields and methods
21 ;;Quote: a field or method in a subtype masks any field or method with the same name in the supertype; use NARROW to access the supertype
21 ;;Quote: Modula-3 objects are assigned by reference; to copy an object, copy its fields
21+;;Quote: an object can not be dereferenced because the static type of an object does not determine the type of its data record
24 ;;Quote: Modula-3 uses a simple, restricted subtype rule, if T <: U, then every value of T is a value of U; arrays and procedures must be basically the same
26 ;;Quote: an implementation of Modula-3 exceptions should not increase the cost of procedure calls; the specification suggests a minimum ratio of a 1000 to 1
26 ;;Quote: type T is assignable to type U if it is a subtype, an array supertype, a reference supertype, or an overlapping ordinal type
26+;;Quote: an expression is assignable to a variable if their types are assignable, the value is valid, not a local procedure, nor an array of a different shape
30 ;;Quote: Modula-3 handles exceptions with TRY-EXCEPT-ELSE; an exception may return a value
31 ;;Quote: TRY S_1 FINALLY S_2 executes S_2 even if S_1 throws an exception
39 ;;Quote: a subtype declaration is opaque; a REVEAL clause introduces information about an opaque type into a scope
47 ;;Quote: a safe module includes no unsafe interfaces or operations such as unchecked type transfer, address arithmetic, dispose object, and untraced allocations


Related Topics up

ThesaHelp: references c-d (337 items)
Topic: programming by sequential implementation (26 items)
Topic: program execution (8 items)
Topic: variable as reference to storage (12 items)
Topic: is a name a literal string or a symbol (23 items)
Topic: declaration scope (16 items)
Group: expression evaluation   (5 topics, 96 quotes)
Topic: compile-time execution (17 items)
Topic: variable as reference to a value (21 items)
Topic: pointers to data (55 items)
Topic: error safe systems (75 items)
Topic: structural equivalence vs. name equivalence of data types (30 items)
Group: data type   (34 topics, 723 quotes)
Topic: data type by name or tags (29 items)
Topic: arrays (57 items)
Topic: index sequence for array access (16 items)
Topic: variables for array bounds (7 items)
Topic: sub-sequences (13 items)
Topic: data record (57 items)
Topic: initialization of data (42 items)
Topic: packed data (11 items)
Topic: set data type (16 items)
Topic: dynamic type checking (43 items)
Topic: ref_any or Object data type (9 items)
Topic: data type as a set of values and a set of operations (16 items)
Topic: object-oriented objects (36 items)
Topic: restricted and extended types (34 items)
Topic: replacement as setting a reference to a value (10 items)
Group: type inheritance   (13 topics, 391 quotes)
Topic: efficiency (96 items)
Topic: exception handling by try..catch (45 items)
Group: type checking   (12 topics, 385 quotes)
Topic: opaque and partially-opaque data types (14 items)
Topic: data type by access rights (20 items)
Topic: type-safe and secure languages (42 items)

Collected barberCB 3/98
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.