[Openmcl-devel] Shortcircuiting of argument evaluation in #'<

Ron Garret ron at flownet.com
Wed Jan 9 08:10:16 PST 2013


On Jan 9, 2013, at 8:01 AM, Tom Emerson wrote:

> On Wed, Jan 9, 2013 at 10:35 AM, Ron Garret <ron at flownet.com> wrote:
>> IMO this is a bug in the spec, not CCL.  (< a b c ...) ought to mean (and (< a b) (< b c) ...)
> [...]
> 
> By which I assume you mean the definition of the comparison operators
> in 12.2, where, "[t]he value of < is true if the numbers are in
> monotonically increasing order; otherwise it is false." To short
> circuit wouldn't #'< need to become a special operator?

Well, this is a very tricky situation.  If you just made them special operators then you could no longer FUNCALL or APPLY them, and that would surely cause even worse breakage.  I would have to think about how one would actually go about fixing this problem the Right Way.

rg




More information about the Openmcl-devel mailing list