• simonpj@microsoft.com's avatar
    Fix Trac #3155: better error message when -XRankNTypes is omitted · 6c06fdc7
    simonpj@microsoft.com authored
    This patch sligtly re-adjusts the way in which the syntax of types 
    is handled:
     * In the lexer, '.' and '*' are always accepted in types
       (previously it was conditional).  This things can't mean
       anything else in H98, which is the only reason for doing things
       conditionally in the lexer.
     * As a result '.' in types is never treated as an operator.
       Instead, lacking a 'forall' keyword, it turns into a plain parse error.
     * Test for -XKindSignatures in the renamer when processing
         a) type variable bindings
         b) types with sigs (ty :: kind-sig)
     * Make -XKindSignatures be implied by -XTypeFamilies 
       Previously this was buried in the conditonal lexing of '*'
DynFlags.hs 92.7 KB