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

Re: misc questions



	
    Date: Wed, 5 Mar 86 03:46 EST
    From: Christopher Fry <cfry@OZ.AI.MIT.EDU>
    To: common-lisp@SU-AI.ARPA
    Subject: misc questions
    Message-ID: <860305034651.1.CFRY@MOSCOW-CENTRE.AI.MIT.EDU>
    
    What does WITH-OPEN-FILE return?
    I can't find it in CLtL.
    I'd prefer that it return the value of the last form in its body.
I believe this is what most implementations do (since it is stated that
the forms of the body are an implicit PROGN).  This should be
'clarified' though.
    
    When SYMBOL-FUNCTION is passed a symbol which refers to
    a macro or special form, what does it return?
There was a lot of discussion about this a few weeks ago.  My
impression of the result of that discussion was that SYMBOL-FUNCTION
could return ANYTHING (including NIL) when passed a symbol that names
a macro or special form.  All you can count on is that it WON'T signal
an error and it will return something.  Of course, when passed a
symbol that names an actual function, you can assume that what is
returned is the function def. and that it can be applied, etc.
    
    If FUNCTION is passed a definition, does it simply return it?
I assume by 'definition' you mean a lambda expression.  When passed a
lambda expression, FUNCTION may return a closure (an actual data type
in some implementations, the original lambda (if no env. info. is
needed), a compiled-code object (if you are using POPLOG LISP :-)), or
any lisp object that is appliable or funcallable and that 'represents'
the original lambda expression and its defining env.
    
	-- Nick