In article <email@example.com>,
"Pascal J. Bourguignon" <firstname.lastname@example.org> wrote:
> Now the question is an historical question. What did implementations do
> before CL? Did they have a reader macro? Did they have keywords
> without having packages?
> I doubt that the notion of keyword came around before the notion of
> package. It's possible for the self definining feature, but I find it a
> weak reason.
I think packages and keyword arguments were both introduced in Lisp
LM Lisp's package system was a little different from CL's. Instead of
packages importing from each other, they were organized in a hierarchy.
Searching for a symbol name worked by looking first in the current
package, then its superpackage, and so on up to the GLOBAL package.
Originally there was no special keyword package, :SYMBOL was a shorthand
for USER:SYMBOL. And they weren't self-evaluating, you had to quote
them. I think it was when the Flavor system was designed that they may
have added the self-quoting of keywords, but I'm not sure.
Maclisp had reader macros, but it didn't have packages or keywords.
Maybe some user-written libraries used keyword-style arguments, and this
was probably where the LM Lisp designers got the idea and formalized it.
Barry Margolin, email@example.com
*** PLEASE post questions in newsgroups, not directly to me ***