505 ;;Quote: programming is inhumanly hard; because text strings are a poor representation for programs
|
505+;;Quote: use copying to make programming more like a spreadsheet than a keypunch; representation = execution; free of the limits of paper
|
506 ;;Quote: represent a program as a tree of structure and reference nodes; a reference points to a node (its value); leaves are empty structures (atomic values); nodes have a descriptive label, e.g., "3256" for an atomic value
|
506 ;;Quote: functions in Subtext are structures that react to change; changing a subnode changes the result
|
506 ;;Quote: create new Subtext nodes by copying from a prototype; instantiates data structures and calls functions
|
507 ;;Quote: a reference to a structure is a constant, its value; a reference to a reference is a variable, resolved to a constant
|
507+;;Quote: changes to a structure propagate to all of its references, both direct and indirect
|
507 ;;Quote: represent a link with a compass widget; on visit, the indicator tick extends to the link's source; need mouse to appreciate the dynamic display of reference
|
508 ;;Quote: programming traditionally uses two kinds of data flow -- expression nesting and variable assignment and reference; leads to side-effects and multi-value wrappers
|
508+;;Quote: Subtext has a single kind of data flow -- a graph of structure and reference nodes
|
509 ;;Quote: in Subtext, explicit links are primary; every label could be 'foo'; links are immediately-bound; stored in a database while editing
|
509+;;Quote: traditional programming requires the constant invention of unique names just to create structure
|
509 ;;Quote: instead of compile-time or run-time binding, Subtext binds immediately; changes are globally replicated with recomputation as needed
|
509+;;Quote: Subtext achieves functional abstraction without hiding meaning behind the delayed binding of indirect reference
|
509 ;;Quote: names are too rich in meaning to waste on talking to computers; Subtext frees names from syntax
|
509 ;;Quote: Subtext labels depend on the human ability to disambiguate labels by their context; labels are not unique
|
509 ;;Quote: with Subtext, every function is an example of its execution; every node has a value
|
513 ;;Quote: Self showed that copying (i.e., prototypes) was a unifying basis for programming
|
513+;;Quote: Self promulgated the principles of concreteness, uniformity, flexibility, and immediacy
|