Map
Index
Random
Help
th

QuoteRef: maclBJ_1987

topics > all references > ThesaHelp: references m-o



ThesaHelp:
references m-o
Topic:
automation
Topic:
compiling pseudocode designs
Group:
type checking
Topic:
orthogonal extension and cartesian products
Group:
systems
Topic:
abstraction by common attributes
Topic:
abstraction in programming
Topic:
names independent of objects
Topic:
absolute vs. relative names
Topic:
spatial vs. temporal representation
Topic:
programming language design
Topic:
error safe systems
Topic:
language flexibility
Topic:
function results
Topic:
parameter passing by value-result
Topic:
data types in Thesa
Topic:
information hiding
Topic:
syntax analysis
Topic:
declaration scope
Topic:
names as rigid designators
Topic:
dictionary for natural language
Topic:
writing
Topic:
programming style
Topic:
infinity and infinitesimal
Topic:
parameter passing by name
Group:
goals for a programming system
Group:
programming notation
Topic:
extensible languages
Topic:
data record
Topic:
Thesa data model
Topic:
object-defined names
Topic:
arrays
Topic:
Thesa data structures
Topic:
case statement
Topic:
parameter passing by value
Topic:
primitive data types for Thesa
Topic:
function call
Topic:
machine independent programming
Topic:
real numbers and floating point numbers
Topic:
variant data types
Topic:
restricted and extended types
Topic:
range data type
Topic:
type inheritance as reuse
Group:
type declaration
Topic:
separate a module's interface specification from its implementation
Topic:
functional side effects

Reference

MacLennan, B.J. , Principles of programming languages, New York, Holt, Rinehart and Winston, 1987 (2nd edition). Google

Quotations
5 ;;Quote: should automate mechanical, tedious, or error-prone activities
5 ;;Quote: Hopper and others used programs to extract subroutines and compile them under the direction of a pseudo-code
7 ;;Quote: a programming system should detect all programs that violate its definition or intended structure
8 ;;Quote: independent languages features should be orthogonal, i.e., controlled independently
8 ;;Quote: regular rules are easier to learn, use, describe, and implement
12 ;;Quote: abstraction avoids stating something more than once; recurring patterns are factored out
23 ;;Quote: use labels to avoid knowledge of absolute position within a list
45 ;;Quote: the static structure of a program should correspond to the dynamic structure of its behavior
46 ;;Quote: syntax that looks similar should be similar; and different things should look different
47 ;;Quote: errors should be checked at multiple levels to ensure that all errors are caught somewhere
50 ;;Quote: a language should be able to represent any information known by the user that is useful to the compiler
57 ;;Quote: pass by value-result is copying a value at call and at return; if the actual was a constant or expression the result copy is omitted
83 ;;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
91 ;;Quote: FORTRAN ignores blanks and allows keywords as variables; makes syntactic analysis difficult; e.g., 'if (i-1)'
113 ;;Quote: scope is static if procedure called in definition environment while dynamic if called in caller's environment
118 ;;Quote: equivocation is using the same word in different ways in the same conversation; reflects difficulty of dynamic scoping
124 ;;Quote: zero, one, and infinity are the only reasonable numbers in program language design
141 ;;Quote: Jensen's device uses pass-by-name for both index and indexed quantity; e.g., allows nested summations
148 ;;Quote: users should only pay for what they use; overhead should be minimal
156 ;;Quote: language keywords can be reserved, marked unambiguously, or act as variables except in the keyword's proper context
176 ;;Quote: an extensible language provided a language kernel and an extension mechanism
178 ;;Quote: extensible languages are inefficient because compilers must be large and inefficiencies in the kernel were amplified in the extensions
178 ;;Quote: extensible languages had poor diagnostics since error checking happened at the kernel level
196 ;;Quote: a record in Pascal defines a local naming scope which is opened with the dot operator
197 ;;Quote: arrays are homogeneous with dynamic selectors; records are heterogeneous with static selectors
214 ;;Quote: case statement can be compiled into a jump table, hash table, binary search, sequential search, or if-test-chain
216 ;;Quote: pass-by-constant makes a parameter the same as a constant; can't be destination of an assignment or passed-by-reference
257 ;;Quote: an activation record holds all information relevant to one activation of an executable unit
268 ;;Quote: precision constraints are often circumvented to get a particular storage size
268 ;;Quote: Ada has fixed-point numbers since commonly used in peripheral devices such as analog-to-digital converters
268 ;;Quote: an Ada fixed-point constraint gives a range and a maximum delta (the absolute error bound)
270 ;;Quote: Ada requires a new record value if the discriminant or tag of a variant record is changed
270+;;Quote: Pascal errors caused by changing the tag of a variant record without initializes related fields
272 ;;Quote: a subrange is called a subtype in Ada; it inherits operations and remains compatible
273 ;;Quote: an Ada derived type defines a new type which inherits all operations and attributes of its base type
277 ;;Quote: most Ada declarations can be broken into interface and implementation; e.g., declare a constant without giving its value
279 ;;Quote: side effects result from hidden access to a variable; e.g., declaring a block within a block
282 ;;Quote: with block structure, a statement may refer to different variables depending on declarations outside of it; called vulnerability


Related Topics up

ThesaHelp: references m-o (268 items)
Topic: automation (15 items)
Topic: compiling pseudocode designs (8 items)
Group: type checking   (12 topics, 392 quotes)
Topic: orthogonal extension and cartesian products (11 items)
Group: systems   (17 topics, 530 quotes)
Topic: abstraction by common attributes (19 items)
Topic: abstraction in programming (67 items)
Topic: names independent of objects (34 items)
Topic: absolute vs. relative names (12 items)
Topic: spatial vs. temporal representation (21 items)
Topic: programming language design (53 items)
Topic: error safe systems (76 items)
Topic: language flexibility (34 items)
Topic: function results (7 items)
Topic: parameter passing by value-result (10 items)
Topic: data types in Thesa (92 items)
Topic: information hiding (50 items)
Topic: syntax analysis (29 items)
Topic: declaration scope (16 items)
Topic: names as rigid designators (43 items)
Topic: dictionary for natural language (41 items)
Topic: writing (32 items)
Topic: programming style (47 items)
Topic: infinity and infinitesimal (37 items)
Topic: parameter passing by name (11 items)
Group: goals for a programming system   (21 topics, 983 quotes)
Group: programming notation   (14 topics, 221 quotes)
Topic: extensible languages (71 items)
Topic: data record (57 items)
Topic: Thesa data model (58 items)
Topic: object-defined names (15 items)
Topic: arrays (58 items)
Topic: Thesa data structures (59 items)
Topic: case statement (25 items)
Topic: parameter passing by value (5 items)
Topic: primitive data types for Thesa (82 items)
Topic: function call (28 items)
Topic: machine independent programming (13 items)
Topic: real numbers and floating point numbers (37 items)
Topic: variant data types (7 items)
Topic: restricted and extended types (35 items)
Topic: range data type (17 items)
Topic: type inheritance as reuse (27 items)
Group: type declaration   (5 topics, 110 quotes)
Topic: separate a module's interface specification from its implementation (86 items)
Topic: functional side effects (11 items)

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