squint

2025-02-26T03:28:16.506229Z

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

2025-02-26T08:58:37.397609Z

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

borkdude 2025-02-26T09:08:19.720939Z

Yes separate values is probably better

borkdude 2025-02-26T07:55:01.122719Z

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