summaryrefslogtreecommitdiff
path: root/compiler/simplCore/SimplEnv.lhs
diff options
context:
space:
mode:
authorManuel M T Chakravarty <chak@cse.unsw.edu.au>2006-09-20 17:05:28 +0000
committerManuel M T Chakravarty <chak@cse.unsw.edu.au>2006-09-20 17:05:28 +0000
commit15cb792d18b1094e98c035dca6ecec5dad516056 (patch)
treede89a82e732faef4a6828be8e405e73ff790ea3b /compiler/simplCore/SimplEnv.lhs
parent5d541fe7c43a1dc4c1b2dd9ee49e64238b0754ca (diff)
downloadhaskell-15cb792d18b1094e98c035dca6ecec5dad516056.tar.gz
Complete the evidence generation for GADTs
Mon Sep 18 14:43:22 EDT 2006 Manuel M T Chakravarty <chak@cse.unsw.edu.au> * Complete the evidence generation for GADTs Sat Aug 5 21:39:51 EDT 2006 Manuel M T Chakravarty <chak@cse.unsw.edu.au> * Complete the evidence generation for GADTs Thu Jul 13 17:18:07 EDT 2006 simonpj@microsoft.com This patch completes FC evidence generation for GADTs. It doesn't work properly yet, because part of the compiler thinks (t1 :=: t2) => t3 is represented with FunTy/PredTy, while the rest thinks it's represented using ForAllTy. Once that's done things should start to work.
Diffstat (limited to 'compiler/simplCore/SimplEnv.lhs')
-rw-r--r--compiler/simplCore/SimplEnv.lhs9
1 files changed, 4 insertions, 5 deletions
diff --git a/compiler/simplCore/SimplEnv.lhs b/compiler/simplCore/SimplEnv.lhs
index 3556b7eae3..960475c0b5 100644
--- a/compiler/simplCore/SimplEnv.lhs
+++ b/compiler/simplCore/SimplEnv.lhs
@@ -42,9 +42,9 @@ module SimplEnv (
import SimplMonad
import Id ( Id, idType, idOccInfo, idUnfolding, setIdUnfolding )
import IdInfo ( IdInfo, vanillaIdInfo, occInfo, setOccInfo, specInfo, setSpecInfo,
- arityInfo, setArityInfo, workerInfo, setWorkerInfo,
+ arityInfo, workerInfo, setWorkerInfo,
unfoldingInfo, setUnfoldingInfo, isEmptySpecInfo,
- unknownArity, workerExists
+ workerExists
)
import CoreSyn
import Rules ( RuleBase )
@@ -58,7 +58,7 @@ import OrdList
import qualified CoreSubst ( Subst, mkSubst, substExpr, substSpec, substWorker )
import qualified Type ( substTy, substTyVarBndr )
-import Type ( Type, TvSubst(..), TvSubstEnv, composeTvSubst,
+import Type ( Type, TvSubst(..), TvSubstEnv,
isUnLiftedType, seqType, tyVarsOfType )
import Coercion ( Coercion )
import BasicTypes ( OccInfo(..), isFragileOcc )
@@ -556,8 +556,7 @@ substIdInfo subst info
not (workerExists old_wrkr) &&
not (hasUnfolding (unfoldingInfo info))
- keep_occ = not (isFragileOcc old_occ)
- old_arity = arityInfo info
+ keep_occ = not (isFragileOcc old_occ)
old_occ = occInfo info
old_rules = specInfo info
old_wrkr = workerInfo info