[project @ 1999-07-15 09:51:52 by simonmar]
authorsimonmar <unknown>
Thu, 15 Jul 1999 09:51:52 +0000 (09:51 +0000)
committersimonmar <unknown>
Thu, 15 Jul 1999 09:51:52 +0000 (09:51 +0000)
A prime example of how an inconsistent .hi-boot file can really ruin
your day: the definition of CoreRules in CoreSyn.hi-boot was out of
sync with the real one, which meant that the compiler generated the
wrong code for a `seq` on something of type CoreRules.

ghc/compiler/coreSyn/CoreSyn.hi-boot
ghc/compiler/coreSyn/CoreSyn.hi-boot-5

index 3ea40f4..c2fb8bf 100644 (file)
@@ -8,7 +8,7 @@ _declarations_
 1 data Expr b ;
 
 1 data CoreRule ;
-1 type CoreRules = [CoreRule] ;
+1 data CoreRules = Rules [CoreRule] VarSet.IdOrTyVarSet ;;
 1 emptyCoreRules _:_ CoreRules ;;
 1 seqRules _:_ CoreRules -> PrelBase.() ;;
 1 isEmptyCoreRules _:_ CoreRules -> PrelBase.Bool ;;
index d8ad7ff..2ddc75b 100644 (file)
@@ -6,7 +6,7 @@ __export CoreSyn CoreExpr CoreRules CoreRule emptyCoreRules isEmptyCoreRules seq
 1 data Expr b ;
 
 1 data CoreRule ;
-1 type CoreRules = [CoreRule] ;
+1 data CoreRules = Rules [CoreRule] VarSet.IdOrTyVarSet ;
 1 emptyCoreRules :: CoreRules ;
 1 seqRules :: CoreRules -> PrelBase.Z0T ;
 1 isEmptyCoreRules :: CoreRules -> PrelBase.Bool ;