[project @ 2000-07-14 08:17:36 by simonpj]
This commit completely re-does the kind-inference mechanism. Previously it was inter-wound with type inference, but that was always hard to understand, and it finally broke when we started checking for ambiguity when type-checking a type signature (details irrelevant). So now kind inference is more clearly separated, so that it never takes place at the same time as type inference. The biggest change is in TcTyClsDecls, which does the kind inference for a group of type and class declarations. It now contains comments to explain how it all works. There are also comments in TypeRep which describes the slightly tricky way in which we deal with the fact that kind 'type' (written '*') actually has 'boxed type' and 'unboxed type' as sub-kinds. The whole thing is a bit of a hack, because we don't really have sub-kinding, but it's less of a hack than before. A lot of general tidying up happened at the same time. In particular, I removed some dead code here and there
Showing
- ghc/compiler/Makefile 2 additions, 2 deletionsghc/compiler/Makefile
- ghc/compiler/basicTypes/MkId.lhs 5 additions, 8 deletionsghc/compiler/basicTypes/MkId.lhs
- ghc/compiler/basicTypes/Name.lhs 18 additions, 14 deletionsghc/compiler/basicTypes/Name.lhs
- ghc/compiler/basicTypes/VarEnv.lhs 2 additions, 2 deletionsghc/compiler/basicTypes/VarEnv.lhs
- ghc/compiler/deSugar/DsCCall.lhs 10 additions, 12 deletionsghc/compiler/deSugar/DsCCall.lhs
- ghc/compiler/hsSyn/HsDecls.lhs 12 additions, 7 deletionsghc/compiler/hsSyn/HsDecls.lhs
- ghc/compiler/hsSyn/HsPat.lhs 23 additions, 1 deletionghc/compiler/hsSyn/HsPat.lhs
- ghc/compiler/hsSyn/HsSyn.lhs 0 additions, 3 deletionsghc/compiler/hsSyn/HsSyn.lhs
- ghc/compiler/hsSyn/HsTypes.lhs 5 additions, 3 deletionsghc/compiler/hsSyn/HsTypes.lhs
- ghc/compiler/nativeGen/MachCode.lhs 2 additions, 6 deletionsghc/compiler/nativeGen/MachCode.lhs
- ghc/compiler/nativeGen/StixMacro.lhs 0 additions, 1 deletionghc/compiler/nativeGen/StixMacro.lhs
- ghc/compiler/parser/Lex.lhs 0 additions, 1 deletionghc/compiler/parser/Lex.lhs
- ghc/compiler/parser/RdrHsSyn.lhs 8 additions, 19 deletionsghc/compiler/parser/RdrHsSyn.lhs
- ghc/compiler/rename/Rename.lhs 8 additions, 9 deletionsghc/compiler/rename/Rename.lhs
- ghc/compiler/rename/RnEnv.lhs 6 additions, 5 deletionsghc/compiler/rename/RnEnv.lhs
- ghc/compiler/rename/RnHsSyn.lhs 2 additions, 1 deletionghc/compiler/rename/RnHsSyn.lhs
- ghc/compiler/rename/RnIfaces.lhs 5 additions, 4 deletionsghc/compiler/rename/RnIfaces.lhs
- ghc/compiler/rename/RnMonad.lhs 2 additions, 4 deletionsghc/compiler/rename/RnMonad.lhs
- ghc/compiler/rename/RnNames.lhs 2 additions, 1 deletionghc/compiler/rename/RnNames.lhs
- ghc/compiler/rename/RnSource.lhs 2 additions, 2 deletionsghc/compiler/rename/RnSource.lhs
Loading
Please register or sign in to comment