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

Issue: ROOM-DEFAULT-ARGUMENT (Version 1)



    Date: Mon, 12 Sep 88 20:01 EDT
    From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>

    ... can't we just get rid of ROOM entirely?  I think it never
    should have been adopted from Zetalisp into Common Lisp in the
    first place.

Macsyma uses it (to allow users to do from Macsyma what Lisp users
can do from Lisp).

Just as STEP doesn't replace the need for a real metering system, so
ROOM doesn't replace the need for better storage-management facilities,
but it gives you someplace to start from when you're working late and no
one is answering the phone on the customer service lines. I as a
Macsyma implementor was certainly grateful to have it.

    Date: 19 Sep 88 23:40 PDT
    From: masinter.pa@Xerox.COM

    ... Imagine two other proposals:
    
    ROOM-DEFAULT-ARGUMENT:MAKE-EXPLICITLY-VAGUE (what ROOM does and what its
    arguments beyond (ROOM) do are non-portable),
    
    ROOM-DEFAULT-ARGUMENT:REMOVE  (remove ROOM from the standard)
    
    ROOM-DEFAULT-ARGUMENT:MAKE-KEYWORD (implementations can add arbitrary keywords
    to ROOM, that can be interpreted however they want, except that they have to
    (ROOM &ALLOW-OTHER-KEYS)).
    
    My vote:  I'd go for MAKE-EXPLICITLY-VAGUE first and ALLOW-OTHER-KEYS second
    over the other two. 
    
There are interesting but from the point of view of Macsyma, it was
useful to have at least some selective ability beyond the `no arguments'
case. I wouldn't mind the ALLOW-OTHER-KEYS proposal if you made at least
one of the keywords portable. How about
 ROOM &key (VERBOSE ':DEFAULT) &allow-other-keys
where VERBOSE compatible with my proposal for what the optional argument
should do in the current syntax?