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

Re: Mini-ballot

1) I think I want to vote 3.  I would prefer a separate function,
e.g. (DEFUN-PROP FOO BAR ...), if this is something we really want to
support.  However you ought to consider whether this can be done in
a system-independent fashion.  Presumably you don't define the way
DEFUN is implemented.  Thus you may use EXPR properties or function
definition cells.  So if I specify (:PROPERTY FOO BAR), what is the
value?  A LAMBDA form?  Or possibly something to indicate whether it
is EXPR or MACRO, e.g. (EXPR LAMBDA ...)?  Unless you want to define
the internal form of a function definition (which I would strongly
oppose), the value is likely to be installation dependent.  If so,
then you had better define what it can be used for.  Do you gurantee
that we can always do (APPLY (GET 'FOO 'BAR) args)?  (Not very good
if the property is (EXPR LAMBDA ...))  It is one thing to hide the
implementation of DEFUN.  But it is not good to have a property whose
exact form is undefined.  Thus I recommend against considering this
feature to be part of the white pages.

2) I vote for using a different special character for constants. I think
somebody proposed # #.  I consider it good programming practice to use a
special character to begin all specials, even ones that the user
defines, just so it is immediately obvious to anyone reading the code.  
In addition to that general consideration, it is helpful to emphasize
that this is a system variable.  At a minimum it prevents the user
from choosing the same name himself...