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

Features in keyword package? Yes.

It seems to me the essential thing about keywords is that they are
interned (hashed) thus can be uniquely recognized, but don't have any
other objects (values functions or properties) associated with them.
This places them somewhat between strings and normal identifiers (symbols).

Anyway, features seem to have the same essential things, they need to
be recognized but they needn't have values etc. assigned to them. So it
makes sense to put them in the keyword package, and to default the
current package to the keyword package in places where they are expected
so that the user needn't type the : prefix, such as after #+.
(This is analagous to not needing the : prefix after &KEY in a lambda
expression; But actually I'm a little confused by the example on page
65 at the bottom, where : prefix isn't used inside the body either.
I presume START and END are lexical variables in the current package,
not in the KEYWORD package, thus somehow the lambda expression establishes
a temporary linkage between similarily-named variables in two different
packages, without actually importing them as a permanent side-effect.
It's possible my confusion here invalidates my opinion. Can somebody explain
this strangeness?)