[Openmcl-devel] Shortcircuiting of argument evaluation in #'<
Stas Boukarev
stassats at gmail.com
Wed Jan 9 07:49:40 PST 2013
Ron Garret <ron at flownet.com> writes:
> IMO this is a bug in the spec, not CCL. (< a b c ...) ought to mean
> (and (< a b) (< b c) ...) , not (let* ((a_ a) (b_ b) ...) (< a_ b_ c_
> ...)). Putting side-effecting code inside a comparison operator is a
> Truly Horrible Idea (which is even worse than the previously
> trademarked Really Bad Idea) and any programmer who wants to write
> code that relies on it ought to bear the burden of expanding his code
> into the corresponding LET* rather than impose the burden of running
> dead code on the entire extant code base. That is too high a price to
> pay. The spec is not scripture.
Are you being serious? < is an ordinary function, and the order of argument
evaluation and guarantee of evaluation is exactly prescribed by the
standard. What's the big idea of randomly disregarding the standard?
--
With best regards, Stas.
More information about the Openmcl-devel
mailing list