[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Making a lambda-expr more like a fn
- To: rik@cs.UCSD.EDU (Rik Belew)
- Subject: Re: Making a lambda-expr more like a fn
- From: kab (Kim Barrett)
- Date: Mon, 16 Nov 92 10:26:01
- Cc: info-mcl@cambridge.apple.com
> One of the changes to CL2 that bit me has been that
> raw lambda's can no longer be funcall'd (or apply'd)
> directly.
>
> With CMULisp, I have remedied this by coercing the lambda
> into a function first:
>
> (setf (org-lexpr p) (coerce lexpr 'function))
>
> But CCL::COERCE-TO-FUNCTION won't have it:
This is a known bug. I believe there's a patch for it, but don't remember the
name. Try asking bug-mcl.
> I was able to get what I wanted compiling the form instead. However, in
> this application, I would like very much to avoid the compilation overhead
> if at all possible. Can I?
Since MCL is (for the most part) a compiled-only implementation, there is
actually no real difference between the forms (coerce lexpr 'function) and
(compile nil lexpr), except that the former fails due to a bug. That is, if
the bug were not present then the call to coerce would call the compiler to
process the lambda expression.