[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SOME (and other mapping
- To: "Bill St. Clair" <uunet!cambridge.apple.com!bill@uunet.UU.NET>, "ministry.cambridge.apple.com!in" <info-mcl@ministry.cambridge.apple.com>
- Subject: Re: SOME (and other mapping
- From: "Don Mitchell" <dhm%proact@uunet.UU.NET>
- Date: 5 Jan 1994 14:57:50 -0600
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
bill@cambridge.apple.com
---------------------
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