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

Features



Steele (p358) on the 'feature' in the #+ read-time conditionalization facility:

   "The feature should be the printed representation of a symbol or list. If
   feature is a symbol, then it is true if and only if it is a member of the
   list that is the value of the global variable *features*."

And *features* (p448):

   "The value of the variable *features* should be a list of symbols that name
   'features' provided by the implementation."

It is unclear to me from this whether an implementation should compare the
features as the symbols themselves or as their printnames.  Lucid does the
latter, which seems more reasonable given the potential for confusion involving
packages. They also put their features in the keyword package, which is good
defensive programming.

   Though a small point, this is rather important for portable code. Comments
anyone?

			       Regards,

                                   Andrew.

+-----------------------------------------------------------------------------+
|     Andrew Watson,                                 andrew@uk.co.harlqn      |
|     Harlequin Ltd,                                 Tel: +44 223 872522      |
|     Cambridge, UK                                  Fax: +44 223 872519      |
+-----------------------------------------------------------------------------+