diff options
author | simonpj@microsoft.com <unknown> | 2011-01-10 11:03:51 +0000 |
---|---|---|
committer | simonpj@microsoft.com <unknown> | 2011-01-10 11:03:51 +0000 |
commit | 6ea06bbf08517d9805feb82df65cc56ecbaf23a4 (patch) | |
tree | 0f7d4d11bda62cbe37f3f5842e233e369071c691 /includes/ghc.mk | |
parent | 338cac018258e0c5540e18e0efe7dc84dfce8c86 (diff) | |
download | haskell-6ea06bbf08517d9805feb82df65cc56ecbaf23a4.tar.gz |
Do dependency analysis when kind-checking type declarations
This patch fixes Trac #4875. The main point is to do dependency
analysis on type and class declarations, and kind-check them in
dependency order, so as to improve error messages.
This patch means that a few programs that would typecheck before won't
typecheck any more; but before we were (naughtily) going beyond
Haskell 98 without any language-extension flags, and Trac #4875
convinces me that doing so is a Bad Idea.
Here's an example that won't typecheck any more
data T a b = MkT (a b)
type F k = T k Maybe
If you look at T on its own you'd default 'a' to kind *->*;
and then kind-checking would fail on F.
But GHC currently accepts this program beause it looks at
the *occurrences* of T.
Diffstat (limited to 'includes/ghc.mk')
0 files changed, 0 insertions, 0 deletions