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

Re: SOME (and other mapping

Subject:   RE>>SOME (and other mapping 
Unless there's a trick that I cannot think of, it seems that the 
compiler may safely consider as dynamic-extent any lambda form 
given as the function argument to a mapping function.  As far as I 
know, there's no way to get a hold of the function in order to 
accidentally or intentionally return it.  In your example 
below, how could the enclosing function possibly return the 
anonymous function?  (I sure hope I don't end up embarassed by
missing something obvious here.)

Date: 1/5/94 2:41 PM
From: Bill St. Clair
Subject: Re: SOME (and other mapping functions)

Genera (Symbolics Lisp) has a way for SOME to declare that its first argument
is a function that can safely have dynamic extent. All its built-in
mapping functions contain the appropriate declarations, and
the compiler uses them to automagically stack-cons the closure
in (some #'(lambda (3) (> e x)) list). MCL does not have this feature,
so Phillip's dynamic-extent declaration is the best you can do.

Bill St. Clair

Donald H. Mitchell             Domain:  dhm@pro-solution.com
Proactive Solutions Inc.         UUCP:  uunet!proact!dhm   
5314 S. Yale Ave., Suite 402    Voice:  918.492.5192
Tulsa, OK  74135                  FAX:  918.492.5193