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

RETURN-VALUES-UNSPECIFIED



Issue:        RETURN-VALUES-UNSPECIFIED
References:   CLOSE (p 332), IN-PACKAGE (p 183), RENAME-PACKAGE (p 184),
	      TRACE (p 440), UNTRACE (p 440), INSPECT (p 442), 
	      SET-SYNTAX-FROM-CHAR (p 361),
	      LOCALLY (p 156), PROVIDE (p 188), REQUIRE (P 188)
Category:     CLARIFICATION
Edit history: 26-Aug-88, Version 1 by Chapman
	      19-Sept-88, Version 2 by Chapman
 
Problem Description:
 
The descriptions of CLOSE, IN-PACKAGE, RENAME-PACKAGE, TRACE, UNTRACE,
INSPECT, SET-SYNTAX-FROM-CHAR, LOCALLY, PROVIDE, and REQUIRE 
are not clear about the values returned from those constructs.
 
Proposal (RETURN-VALUES-UNSPECIFIED:SPECIFY)
 
Clarify that the return values for the listed constructs are as follows:
 
CLOSE -- the stream argument.
IN-PACKAGE -- the new package, i.e. the value of *PACKAGE* after the execution
	of IN-PACKAGE.
RENAME-PACKAGE -- the renamed package.
TRACE (when called with arguments) -- implementation-dependent.
UNTRACE -- implementation-dependent.
INSPECT -- implementation-dependent.
SET-SYNTAX-FROM-CHAR -- T
LOCALLY -- the return values of the last form of its body, i.e. the body is
	surrounded by an implicit PROGN.
PROVIDE -- implementation-dependent.
REQUIRE -- implementation-dependent.
 
Rationale:
 
This clarification allows users to know when they can and can not
count on the values returned from
these constructs. 
 
Current Practice:
 
 
Adoption Cost:
 
 
Benefits:
 
This clarification will assist users in writing portable code.
 
Conversion Cost:
 
 
Aesthetics:
 
None.
 
Discussion:
 
 
Masinter believes that it is marginally more useful to say that 
INSPECT returns the item
inspected. Some interactive inspectors might allow you to return a new value as
the value of INSPECT, e.g., (SETQ X (INSPECT X)). 
GLS disagrees.  If one regards INSPECT as a tool in the interactive
interface, it can be a real nuisance to inspect some huge data structure
and then when you finish it insists on printing 300 lines of gobbledygook
at you.
 
PROVIDE and REQUIRE are not likely to appear except in the "top level" of files.
 
Van Roggen thinks that leaving the values of the debugging and module constructs open
to implementation specification is best for allowing experimentation
and growth.
 
========================================================================
Received: by decwrl.dec.com (5.54.5/4.7.34)
	id AA03740; Mon, 19 Sep 88 07:13:32 PDT