Map
Index
Random
Help
th

QuoteRef: straC8_1967




Topic:
mathematics as a formal system
Group:
philosophy of mathematics
Topic:
limitations of formalism
Group:
program representation
Topic:
program source as truth
Group:
programming notation
Topic:
abstraction
Group:
memory management
Topic:
memory
Topic:
what is a computer
Topic:
pointers to data
Group:
variables
Topic:
atoms and molecules
Topic:
object and value equivalence
Group:
naming
Topic:
value as an abstraction
Topic:
number representation
Topic:
machine code and assembly language
Topic:
expression language
Group:
expression evaluation
Topic:
referential transparency
Topic:
evaluation in an environment
Group:
replacement or assignment
Topic:
entities
Topic:
parameter passing by reference
Topic:
curried functions
Topic:
function signature
Topic:
object-oriented data types
Group:
data structures
Group:
data type
Topic:
set data type
Topic:
data type as constructors, selectors, and predicates
Topic:
abstraction in programming
Topic:
programming as mathematics
Topic:
abstraction in programming language
Topic:
symbolic representation
Topic:
macros
Topic:
extensible languages

Reference

Strachey, C., "Fundamental concepts in programming languages", Lecture notes, International Summer School in Computer Programming, Copenhagen, August 1967. Google

Other Reference

p. 11-49 in Higher-Order and Symbolic Computation, 13.1/2, May 2000

Quotations
12 ;;Quote: profound differences in philosophical outlook between mathematicians; e.g., whether every object must have a construction rule
12 ;;Quote: construction rules for mathematics leads to rigour and exact mathematical reasoning
12+;;Quote: construction rules for mathematics leads to intense concern about syntax, the way in which things are written
12 ;;Quote: for programming languages semantics is far more important than syntax
13 ;;Quote: computing is a new field of mathematics; its central concepts are ill defined, like calculus when it was the Method of Fluxions
13 ;;Quote: use neutral names for new concepts in new fields; avoid words such as 'name,', 'address', 'value', or 'set'
13 ;;Quote: memory is a characteristic feature of computers; the act of inserting an item erases whatever was there before
14 ;;Quote: a location or L-value is an area of the store that has a content or R-value; change the R-value with an updating operation
16 ;;Quote: a name, when used as a name, has no internal structure; names are atomic objects; may test for equality
16 ;;Quote: a numeral, an R-value expression, is the written representation of a number, an abstract object; only the single digits are also names
18 ;;Quote: assembly codes are strings of commands, but the rest of mathematics uses expressions instead of commands; we say 'x + y' instead of 'add x to y'
19 ;;Quote: an expression has a value; it may have two values, an L-value and an R-value
19 ;;Quote: referential transparency means that the value of an expression is determined by the values of its sub-expressions
19+;;Quote: the symbol string 1+5 is not 6 in all circumstances, for example 21+52; requires syntactic analysis
19 ;;Quote: evaluate an expression in an environment that defines values for its free variables
22 ;;Quote: variables in mathematics are names that do not vary; e.g., x is the same x in 3x^2+2x+17; consequence of referential transparency
22 ;;Quote: the assignment statement undoes referential transparency and identity; how much of mathematics can survive?
22 ;;Quote: L-values are not change by assignment; treat variables as L-values in where-clauses and .lambda.-expressions; expensive but inevitable
23 ;;Quote: an abstract store (.phi.) maps L-values to R-values; assignment is an operator on .phi. producing a fresh .phi.
26 ;;Quote: a function declares its bound variables (i.e., its formal parameters) as R-values or L-values; call by value or reference
34 ;;Quote: a closure is a rule for evaluating the expression and an environment; it is an R-value that is not atomic
37 ;;Quote: the type of a function includes the types and modes of calling its parameters and the types of its results; it includes the domain and range of the function
38 ;;Quote: data structures built from nodes (programmer-defined types); components may be nodes or elements of a small number of types
40 ;;Quote: an L-value or location has a shape (its type) with links to its R-values; e.g., Cons type with Car and Cdr links
43 ;;Quote: pointers are R-values that point to L-values; the type of a pointer includes the type of the thing it points to; e.g., pointer to real
45 ;;Quote: a bag is an unordered collection that allows duplicates; as used in probability problems
45 ;;Quote: an L-value has two functions, one for its R-value (contents) and the other to update its R-value
46 ;;Quote: programming languages deal with abstract objects, contrary to the conventional view that programs are symbol strings plus rules for manipulating these strings; the later yields a macrogenerator without regard to semantics
47 ;;Quote: use macrogeneration for semantic extension of a language
47+;;Quote: a good programming language should not need a macrogenerator

Related Topics up

Topic: mathematics as a formal system (30 items)
Group: philosophy of mathematics   (11 topics, 330 quotes)
Topic: limitations of formalism (93 items)
Group: program representation   (25 topics, 659 quotes)
Topic: program source as truth (17 items)
Group: programming notation   (14 topics, 221 quotes)
Topic: abstraction (62 items)
Group: memory management   (11 topics, 367 quotes)
Topic: memory (12 items)
Topic: what is a computer (62 items)
Topic: pointers to data (55 items)
Group: variables   (10 topics, 128 quotes)
Topic: atoms and molecules (57 items)
Topic: object and value equivalence (60 items)
Group: naming   (32 topics, 789 quotes)
Topic: value as an abstraction (25 items)
Topic: number representation (16 items)
Topic: machine code and assembly language (49 items)
Topic: expression language (14 items)
Group: expression evaluation   (5 topics, 97 quotes)
Topic: referential transparency (26 items)
Topic: evaluation in an environment (35 items)
Group: replacement or assignment   (5 topics, 38 quotes)
Topic: entities (20 items)
Topic: parameter passing by reference (11 items)
Topic: curried functions (14 items)
Topic: function signature (21 items)
Topic: object-oriented data types (29 items)
Group: data structures   (12 topics, 278 quotes)
Group: data type   (34 topics, 730 quotes)
Topic: set data type (16 items)
Topic: data type as constructors, selectors, and predicates (20 items)
Topic: abstraction in programming (67 items)
Topic: programming as mathematics (27 items)
Topic: abstraction in programming language (47 items)
Topic: symbolic representation (26 items)
Topic: macros (22 items)
Topic: extensible languages (71 items)

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