614 ;;Quote: few programming languages are sufficiently cheaper or more reliable to justify producing or using them
|
QuoteRef: backJ8_1978a ;;614 "Underlying every programming language is a model of a computing system that its programs control
|
615 ;;Quote: the 'von Neumann bottleneck' is the channel between the CPU and memory
|
615 ;;Quote: much of memory traffic is data addresses and operations and data for computing addresses
|
615 ;;Quote: programming is basically planning and detailing the enormous traffic of words through the von Neumann bottleneck
|
615+;;Quote: in von Neumann architectures much of memory traffic is for finding data
|
615 ;;Quote: conventional programming languages are modeled on the 'von Neumann' computer
|
616 ;;Quote: the assignment statement keeps us thinking in word-at-a-time terms
|
616 ;;Quote: the world of expressions is orderly, has useful algebraic properties, and performs most useful computation
|
616 ;;Quote: the world of statements is a disorderly one, with few, useful mathematical properties
|
617 ;;Quote: a programming language provides a fixed framework and changeable parts
|
617+;;Quote: von Neumann languages must have their semantics closely coupled to the state; every computational detail changes the state
|
617 ;;Quote: von Neumann languages provide an immense framework and limited changeable parts
|
617 ;;Quote: a programming language should have a small framework that can accommodate many powerful features as changeable parts
|
618 ;;Quote: with an algebra, can prove theorems by mechanical transformations using algebraic laws
|
619 ;;Quote: a functional programming system is made of a fixed set of functional forms
|
619+;;Quote: all functions in a functional programming system map an object into another object
|
620 ;;Quote: a Red object is an atom, a sequence, or bottom
|
620 ;;Quote: an FP system has a single operation, application; in f:x, f is the operator and x is the operand
|
620 ;;Quote: all functions in an FP system map objects into objects; bottom-preserving, f.bottom. = .bottom.
|
622 ;;Quote: in FP, a functional definition consists of a function name and a functional form that replaces the name
|
623 ;;Quote: a functional program for matrix multiply is hierarchically constructed from simpler components; without word-at-a-time programming
|
623+;;Quote: a functional program for matrix multiply contains no variables, no loops, no control statements, no initializations, no declarations
|
623+;;Quote: a functional program for matrix multiply does not name its parameters or intermediate results
|
623 ;;Quote: a functional program for matrix multiply yields .bottom. for inappropriate arguments; it is perfectly general
|
623 ;;Quote: could use FP to transform a matrix multiply program which is space inefficient to efficient code
|
623 ;;Quote: if function expressions are not objects, then can not compute a program or define new functional forms
|
624 ;;Quote: with reduction languages, can derive proofs in terms of the algebra instead of a separate logical system
|
631 ;;Quote: a functional form is a sequence of objects, the first determines the form, the others are parameters
|
632 ;;Quote: meaning of an FFP expression found by replacing innermost application with its meaning
|
632 ;;Quote: in an FFP system, use a representation function to associate objects to functions
|
632 ;;Quote: in Red, each object is its own meaning
|
632 ;;Quote: after metacomposition, the operator of a sequence has the original sequence and operands as its operand; can rearrange and reapply at will
|
632 ;;Quote: the meaning of an FFP application x:y is the meaning of the result of applying the function represented by x to y
|
633 ;;Quote: dictionary by triples ; the functional form 'fetch' can retrieve value given a name
634 ;;Quote: defines semantics of FFP systems by the least fixed point operator; determines value given an expression
| 635 ;;Quote: the state of an Algol program is modified by an 'enormous cable' of specialized 'wires' for every statement type
| 635 ;;Quote: with 'von Neumann' languages can not modify the state as a whole
| 635 ;;Quote: a programming system should allow large state transformations by general functions
| 635+;;Quote: program semantics should not depend on baroque protocols for communicating with the state
| 635 ;;Quote: AST systems can retrieve the whole state, retrieve the definition of a function, or compute the new state
| 638 ;;Quote: AST applies 'SYSTEM' to the input and obtains its meaning from the current set of definitions D; produces output and a new D'
| 638+;;Quote: the state of an AST system is a set of definition rules for determining transitions
| 638 ;;Quote: a major weakness of von Neumann languages is not treating names as functions
| | |