• Vladislav Zavialov's avatar
    Embrace -XTypeInType, add -XStarIsType · d650729f
    Vladislav Zavialov authored
    Implement the "Embrace Type :: Type" GHC proposal,
    GHC 8.0 included a major change to GHC's type system: the Type :: Type
    axiom. Though casual users were protected from this by hiding its
    features behind the -XTypeInType extension, all programs written in GHC
    8+ have the axiom behind the scenes. In order to preserve backward
    compatibility, various legacy features were left unchanged. For example,
    with -XDataKinds but not -XTypeInType, GADTs could not be used in types.
    Now these restrictions are lifted and -XTypeInType becomes a redundant
    flag that will be eventually deprecated.
    * Incorporate the features currently in -XTypeInType into the
      -XPolyKinds and -XDataKinds extensions.
    * Introduce a new extension -XStarIsType to control how to parse * in
      code and whether to print it in error messages.
    Test Plan: Validate
    Reviewers: goldfire, hvr, bgamari, alanz, simonpj
    Reviewed By: goldfire, simonpj
    Subscribers: rwbarton, thomie, mpickering, carter
    GHC Trac Issues: #15195
    Differential Revision: https://phabricator.haskell.org/D4748
RdrName.hs 51.2 KB