This morning I was scratching my head over failing Rust code that turned out to be due to Rust parsing "-1" as the literal "-1" (good!) but "-1.x(0)" is parsed as "-(1.x(0))" (bonkers!). Turns out that it's a known issue, but blimey is parsing hard! https://github.com/rust-lang/rust/issues/117155
=> More informations about this toot | More toots from ltratt@mastodon.social
@ltratt I am increasingly of the opinion that a unary negation operator is a bad idea. The number of times I've written something like x = -x is so small that changing it to x = 0 - x is no hardship (and, the last time I wrote it, I actually did write it like that because it was clearer). Removing the unary negation operator would make that an unambiguous parse because -1 is a valid number literal, whereas - {expression} is not a valid expression. Similarly, x-1 is unambiguous (x {-1} is not valid).
=> More informations about this toot | More toots from david_chisnall@infosec.exchange
@david_chisnall I think I agree about banning unary negation (the FP case, as you pointed out elsewhere, can be handled in pleasing, though different, ways).
=> More informations about this toot | More toots from ltratt@mastodon.social
text/gemini
This content has been proxied by September (3851b).