the lexer can always tell with fixed lookahead whether `a-b` is three tokens or one
How does that work? It doesn't seem obvious to me?I also wonder what approaches other languages have taken since I haven't seen dashed keywords in any of the other big languages.