squint 2025-02-26

I've discovered a bug in which valid Clojure expressions become invalid due to order of operations:

(bit-or 1 (if true 0x80 0))
this becomes
1 | true ? 128 : 0
which fails because it's interpreted as
(1 | true) ? 128 : 0

Will do! I've been dealing with it by defining intermediate values, but that's a good idea, thanks

Yes separate values is probably better

Please submit a GitHub issue. A workaround for now would be to wrap one expr in identity