[Git][ghc/ghc][wip/T18235] Use HsForAllTelescope to avoid inferred, visible foralls

Ryan Scott gitlab at gitlab.haskell.org
Wed May 27 12:42:19 UTC 2020



Ryan Scott pushed to branch wip/T18235 at Glasgow Haskell Compiler / GHC


Commits:
51c51fcc by Ryan Scott at 2020-05-27T08:42:01-04:00
Use HsForAllTelescope to avoid inferred, visible foralls

Currently, `HsForAllTy` permits the combination of `ForallVis` and
`Inferred`, but you can't actually typecheck code that uses it
(e.g., `forall {a} ->`). This patch refactors `HsForAllTy` to use a
new `HsForAllTelescope` data type that makes a type-level distinction
between visible and invisible `forall`s such that visible `forall`s
do not track `Specificity`. That part of the patch is actually quite
small; the rest is simply changing consumers of `HsType` to
accommodate this new type.

Fixes #18235. Bumps the `haddock` submodule.

- - - - -


30 changed files:

- compiler/GHC/Core/TyCo/Rep.hs
- compiler/GHC/Core/Type.hs
- compiler/GHC/Hs/Decls.hs
- compiler/GHC/Hs/Extension.hs
- compiler/GHC/Hs/Instances.hs
- compiler/GHC/Hs/Type.hs
- compiler/GHC/Hs/Utils.hs
- compiler/GHC/HsToCore/Docs.hs
- compiler/GHC/HsToCore/Quote.hs
- compiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Iface/Type.hs
- compiler/GHC/Parser.y
- compiler/GHC/Parser/PostProcess.hs
- compiler/GHC/Rename/HsType.hs
- compiler/GHC/Rename/Module.hs
- compiler/GHC/Tc/Deriv.hs
- compiler/GHC/Tc/Gen/HsType.hs
- compiler/GHC/Tc/Gen/Sig.hs
- compiler/GHC/Tc/Gen/Splice.hs
- compiler/GHC/Tc/Module.hs
- compiler/GHC/Tc/Utils/TcMType.hs
- compiler/GHC/Tc/Utils/TcType.hs
- compiler/GHC/ThToHs.hs
- compiler/GHC/Types/Var.hs
- testsuite/tests/ghc-api/annotations/T10278.stdout
- testsuite/tests/ghc-api/annotations/T10399.stdout
- testsuite/tests/ghc-api/annotations/T11018.stdout
- testsuite/tests/ghc-api/annotations/T16230.stdout
- testsuite/tests/ghc-api/annotations/T17519.stdout
- testsuite/tests/parser/should_compile/DumpRenamedAst.stderr


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/51c51fcc04912c36b5e628da1b7f5dfe69f491a4

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/51c51fcc04912c36b5e628da1b7f5dfe69f491a4
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20200527/c08c7523/attachment.html>


More information about the ghc-commits mailing list