Good, that's why I played all day with the Haskell Language Report (2010) and found all kinds of โinterestingโ edges. Material that, in your opinion, should be a mistake, but which is actually allowed.
In particular, consider the following excerpt from a lexical syntax reference (section 10.2):
reservedid โ case | class | data | default | deriving | do | else | foreign | if | import | in | infix | infixl | | infixr | instance | let | module | newtype | of | then | type | where | _
You may see qualified in this list & hellip; But he is not. (Not as or hiding , for that matter.)
Now I'm curious and hellip; Is this a random observation in the Report? Or is it a deliberate design decision?
The GHC seems to at least follow the letter of the specification, as it will gladly allow you to define a variable whose name is essentially qualified . Strange, but true. Thus, it seems that this name is only "special" in one context. On the contrary, you can never name a module variable. We could make this word special only at the beginning of the & hellip; but we did not.
source share