Daniel Spiewak on Nostr: Look, I really enjoy whitespace sensitive languages, and I generally think braceless ...
Look, I really enjoy whitespace sensitive languages, and I generally think braceless syntax looks nice, but holy hell the rules for parsing it are bonkers. Consider:
(bar: y) => z
bar: y => z
foo.bar: x => z
Remember the *tooling* has to handle multiple versions of the language, even when the compiler doesn’t, and the second one is just straight up ambiguous, while the third requires a ton of backtracking to avoid the ambiguity.
(bar: y) => z
bar: y => z
foo.bar: x => z
Remember the *tooling* has to handle multiple versions of the language, even when the compiler doesn’t, and the second one is just straight up ambiguous, while the third requires a ton of backtracking to avoid the ambiguity.