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

SETF madness :-)



    Date:  7 Oct 83 0400 EDT (Friday)
    From: Guy.Steele@CMU-CS-A

    Who needs DELETE-FILE?  Just  (MAKUNBOUND (TRUENAME stream)) ...
    (Clearly we need MAKUNBOUNDF.)

No, we don't need MAKUNBOUNDF.  Just make a small change in the
definition of multiple values so that storing zero values is the same as
making something unbound.  Thus

(MAKUNBOUND 'FOO) becomes (SETF (SYMBOL-VALUE 'FOO) (VALUES))
(FMAKUNBOUND 'FOO) becomes (SETF (SYMBOL-FUNCTION 'FOO) (VALUES))
(REMPROP 'FOO 'BAR) becomes (SETF (GET 'FOO 'BAR) (VALUES))

And another thing, why are multiple values restricted to come in
non-negative integral quantities?  We shouldn't unduly restrict users
who may desire fractional, negative or complex numbers of values.

Why is RANDOM restricted to numbers?  I think it should be defined to
return an arbitrary Lisp object at random.  (For those of you with
3600s, try (%MAKE-POINTER (RANDOM 63.) (RANDOM (^ 2 28.))).  Don't do it
if you have any active buffers, though.)