[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Issue: ROOM-DEFAULT-ARGUMENT (Version 1)
- To: Moon@STONY-BROOK.SCRC.Symbolics.COM, Masinter.PA@Xerox.COM
- Subject: Issue: ROOM-DEFAULT-ARGUMENT (Version 1)
- From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Tue, 20 Sep 88 23:27 EDT
- Cc: CL-Cleanup@SAIL.STANFORD.EDU, KMP@STONY-BROOK.SCRC.Symbolics.COM
- In-reply-to: <19880913000129.5.MOON@EUPHRATES.SCRC.Symbolics.COM>, <880919-234035-3227@Xerox>
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?