A program introduced by Donald Knuth and Luis Trabb Pardo to illustrate the evolution of computer programming languages.  a small program that involved arrays, indexing, mathematical functions, subroutines, I/O, conditionals and iteration.
Reflecting punched card input practice, Fortran programs were originally written in a _____ column format.
-Variables-Constants-Structures Vars begin with a capital letter Constants are either atoms, like english or integers, eg 6 Structures consist of a functor and arguments, eg speaks(Y, english). Speaks is the functor. Y, english are arguments.
A Prolog program consists of a collection of __ and __
A Prolog program consists of a collection of facts and rules. Prolog program containing 2 facts and one rule. speaks(mary, russian). speaks(jake, english). talkswith(X, Y):- speaks(X, L), speaks(Y, L), X \= Y
Prolog programs are used to answer ____ (although simple arithmetic operations are possible)
a fact or rule that initiates a search for success. It specifies a search goal by naming variables that are of interest. E.g.,?- speaks(Who, russian). asks for an instantiation of the variable Who for which the query speaks(Who, russian) succeeds.
what are the language evaluation criteria? S__, l__ e__, O__, C__ s__, D__ t__, E__, T__ c__, E__ h__
 lang' with small num' of constructs is easier to learn eg complex language, C has 4ways of incrementing an int var: i=i+1; i+=1; i++; ++i; this may be bad for the readability of C programs, but may make them easier to write
 The form that the individual lexical elements (i.e. words, symbols) of a language take can affect language readability.  The meaning of a symbol or keyword should ideally be obvious from its name.
 a lang' has a small number of control n data constructs (eg: data types), that can be combined in a small number of ways and where every combination is legal and meaningful.  no “special cases” to remember in the use of its constructs.
 The orthogonality of a language has an effect on both the readability and the writability of software.  If a language’s rules contain fewer special cases, it is easier to learn (and therefore easier to read and write).