[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GC, exit-to-system
- To: FAHLMAN@C.CS.CMU.EDU
- Subject: Re: GC, exit-to-system
- From: masinter.PA@Xerox.COM
- Date: Fri, 11 Jul 1986 02:46:00 -0000
- Cc: "David A. Moon" <Moon@SCRC-STONY-BROOK.ARPA>, common-lisp@SU-AI.ARPA
- In-reply-to: FAHLMAN@C.CS.CMU.EDU's message of Thu, 10 Jul 86 22:28 EDT, <FAHLMAN.12221704534.BABYL@C.CS.CMU.EDU>
Instead of "GC", call it "MAKE-ROOM" and put it in the spec next to
"ROOM". It can be as wonderfully vague:
make-room &optional x [Function]
If the lisp system has any activity it can perform which increases the
amount of storage available by collecting unused structures, do so now.
The nature of this activity is implementation-dependent.
(make-room nil) performs a minimal amount of activity.
(make-room t) performs a maximal amount of useful activity.
Simply (make-room) performs an intermediate amount of collection
(see p 442).
As far as exit/bye/quit, I'd put it in the section on "The Top-Level
Loop" (pp 324-325)
bye (or whatever) [Function]
The function bye causes the current invocation of whatever "top level
read-eval-print loop" is being executed to be terminated. On some
systems, this will mean "exit to the operating systems"; on others, it
will merely terminate the current process.
- - - - - - - -
Both of these fit in what might more reasonably be called Common Lisp
the Environment rather than Common Lisp the language, but they seem to
have as much of a place as the other items that are in the sections I've
placed them in. Most of these sections don't really correspond to things
that have "semantics" in the traditional sense. They seem most important
for portable programmers rather than portable programs.