[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Date: Tue, 5 Mar 91 08:24 MST
From: firstname.lastname@example.org (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) =>
- From: email@example.com (Paul Collier)