[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

get,getf



    Date: Tue, 5 Mar 91 08:24 MST
    From: paul@taos.intel.com (Paul Collier)


    While looking through some of the system code that performs backups, I
    came across the following:

	    (if (get elt :directory)

    My question is, why does the previous work? [...]  I'm also
    curious as to why the original coder used 'elt' as the variable name in
    the form. It seems strange to use a function name as a variable name
    (although admittedly harmless.)

The answer to both questions is that ZL:GET is not the same as CL:GET.
The old Zetalisp GET function works on a symbol and something called a
"disembodied property list" (one of my favorite arcane Lisp names),
which is basically a property list with an extra CONS cell at the
beginning to serve as a handle.  Also, there is no ELT function in
Zetalisp.  You should always try to keep the Zetalisp/Common Lisp
distinction in mind when reading Genera system code, much of which was
written before Common Lisp was even a gleam in Guy Steele's eye.
Check the PACKAGE-USE-LIST of the buffer's package.

Example of a disembodied property list:

(zl:get '(nil :a 4) :a)  =>
4