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 : 0Will 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