"Knut Olav Bøhmer" bohmer@gmail.com writes:
No, it's not. (COERCE ... 'function) takes literal lambda expressions, but ENSURE-FUNCTION should not.
I have probably not understood how to use ensure-function. So I looked in to the functions.lisp file to check it out. But, I'm still not sure what would be wrong about sending ensure-function a literal-lambda expression. Explain please :) It would fit it's name better if it took a lambda list, though.
ENSURE-FUNCTION's purpose is to normalize a function designator (or actually an /extended/ function designator) to a function object.
A lambda expression is not a valid function designator. (And a lambda list is something else entirely.)
Another function I found is disjoint. And according to google: Two sets are disjoint if they have no element in common. To me, that is like XOR, while Alexandrias definition of disjoint, is more like OR. Am I wrong again?
It's "disjoin", not "disjoint"; look for inclusive disjunction, and compare it to exclusive disjunction.
Also notice that Dylan (the historical, and in some respects a content-wise successor of Common Lisp) defines CONJOIN, and DISJOIN.
-T.