[comp.ai.digest] Lisp Syntax

ALDERSON@SCORE.STANFORD.EDU (Rich Alderson) (09/17/87)

In AIList V5 #213, we find:

    Date: 14 Sep 87 04:25:10 GMT
    From: mtune!codas!killer!usl!elg@RUTGERS.EDU  (Eric Lee Green)
    Subject: procedures and data

    ...
    When procedure symbols are encountered in the eval stream, they are called
    with the next list in the eval stream as the parameter list.  A special
    prefix character is necessary to explicitly access the procedure-object,
    to, for example, assign it to another variable.

    A program might look like

    + (2 2)
    print ( / (2 f))

Without commenting on the questions raised, I'd just like to point out that the
proposed syntax is "eval-quote" Lisp (as opposed to "eval" Lisp) extended to
non-top-level forms.  An "eval-quote" Lisp, such as Lisp 1.5, is one in which
the top-level loop is defined in Lisp as

	(defun top-level-loop ()
	   loop-top
	   (print (apply (read) (read)))
	   (go loop-top))

(NB:  This is typical Lisp 1.5 programming style--"let" and friends didn't yet
exist.)

Rich Alderson
alderson@score.stanford.edu
-------