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


I have a Version 2 of this issue waiting for Moon to look it over before sending it
out. The following text is excerpted from that proposal. Does it look any better
to you?


  By allowing symbols other than keyword symbols as keywords, we provide
  a more private communication channel between functions.

  Also, applications such as the emerging object-oriented standard which
  must reliably merge keywords coming from different sources (some internal
  and some user-supplied) can work more reliably by exploting this new
  partitioning of keyword names. For example, a public routine MAKE-FOO
  might need to accept arbitrary keywords from the caller and might want
  to pass those keywords along to an internal routine using keywords of
  its own.

  For example,
  This could be done without fear that the use of EXPLICIT T would override
  some keyword in keyword-value-pairs since the only way that could happen
  is if someone had done (MAKE-INSTANCE 'ZEBRA 'SYSTEM::EXPLICIT NIL), or
  if the user was programming explicitly in the SYSTEM package, either of 
  which is an implicit admission of willingness to violate SYSTEM's modularity.