The or and and functions should support partial application. When partially applied, they move into the realm of normal functions and no longer short-circuit their evaluation.
This is the behavior in the SBCL port:
(0-) ((or) true (do (print "evaluated") true))
"evaluated"true
This the is current, erroneous behavior in ShenRuby:
(0-) ((or) true (do (print "evaluated") true))
or expects 2 arguments but was given 0
The
or
andand
functions should support partial application. When partially applied, they move into the realm of normal functions and no longer short-circuit their evaluation.This is the behavior in the SBCL port:
This the is current, erroneous behavior in ShenRuby: