[Dead code removal, remove references to TTuple as it is now just another data constructor. 
John Meacham <john@repetae.net>**20050502043255] hunk ./FrontEnd/Representation.hs 2
-        Copyright:        Mark Jones and The Hatchet Team 
+        Copyright:        Mark Jones and The Hatchet Team
hunk ./FrontEnd/Representation.hs 6
-        Description:      The basic data types for representing objects 
-                          in the type inference algorithm.  
+        Description:      The basic data types for representing objects
+                          in the type inference algorithm.
hunk ./FrontEnd/Representation.hs 15
-    Type(..), 
-    Tyvar(..), 
+    Type(..),
+    Tyvar(..),
hunk ./FrontEnd/Representation.hs 34
-import HsSyn    
-import Doc.PPrint(pprint,PPrint)
-import Text.PrettyPrint.HughesPJ(nest,Doc)
-import Utils 
-import qualified Data.Map as Map
-import Data.Generics
hunk ./FrontEnd/Representation.hs 35
-import VConsts
-import Utils
-import qualified FlagDump as FD
-import Options
hunk ./FrontEnd/Representation.hs 36
+import Data.Generics
hunk ./FrontEnd/Representation.hs 38
+import Doc.PPrint(pprint,PPrint)
+import HsSyn
+import Options
+import qualified Data.Map as Map
hunk ./FrontEnd/Representation.hs 43
+import qualified FlagDump as FD
+import Text.PrettyPrint.HughesPJ(nest,Doc)
+import Utils
+import Utils
+import VConsts
hunk ./FrontEnd/Representation.hs 68
-    
+
hunk ./FrontEnd/Representation.hs 77
---    (TTuple a) == (TTuple b) = a == b
hunk ./FrontEnd/Representation.hs 82
-data Tyvar = Tyvar { tyvarAtom :: {-# UNPACK #-} !Atom, tyvarName ::  !HsName, tyvarKind :: Kind } 
+data Tyvar = Tyvar { tyvarAtom :: {-# UNPACK #-} !Atom, tyvarName ::  !HsName, tyvarKind :: Kind }
hunk ./FrontEnd/Representation.hs 86
-tyvar n k = Tyvar (fromString $ fromHsName n) n k 
+tyvar n k = Tyvar (fromString $ fromHsName n) n k
hunk ./FrontEnd/Representation.hs 119
--- the trickery is to map TVars and TGens into nice 
+-- the trickery is to map TVars and TGens into nice
hunk ./FrontEnd/Representation.hs 125
-           TVar (Tyvar { tyvarName = tv }) -> do 
-                            findResult <- lookupInMap t 
+           TVar (Tyvar { tyvarName = tv }) -> do
+                            findResult <- lookupInMap t
hunk ./FrontEnd/Representation.hs 131
-                               --Just v  -> return $ text v 
+                               --Just v  -> return $ text v
hunk ./FrontEnd/Representation.hs 139
-                                           doc2 <- maybeParensAp t2 
+                                           doc2 <- maybeParensAp t2
hunk ./FrontEnd/Representation.hs 141
-           TGen _ (Tyvar { tyvarName = tv })   -> do 
-                            findResult <- lookupInMap t 
+           TGen _ (Tyvar { tyvarName = tv })   -> do
+                            findResult <- lookupInMap t
hunk ./FrontEnd/Representation.hs 144
-                                Nothing -> do 
+                                Nothing -> do
hunk ./FrontEnd/Representation.hs 153
---           TTuple ts    -> do tsDocs <- mapM prettyPrintTypeM ts
---                              return $ parens $ hcat $ punctuate comma tsDocs
hunk ./FrontEnd/Representation.hs 173
-   pprint (Tycon i _) = pprint i 
+   pprint (Tycon i _) = pprint i
hunk ./FrontEnd/Representation.hs 196
-   pprint (Kfun Star k2)   = text "* -> " <> pprint k2 
+   pprint (Kfun Star k2)   = text "* -> " <> pprint k2
hunk ./FrontEnd/Representation.hs 201
-   pprint (Kindvar s) = text $ 'k':show s 
+   pprint (Kindvar s) = text $ 'k':show s
hunk ./FrontEnd/Representation.hs 218
-  -- pprint (IsIn c t) = pprint c <+> pprint t 
-  pprint pred 
+  -- pprint (IsIn c t) = pprint c <+> pprint t
+  pprint pred
hunk ./FrontEnd/Representation.hs 227
--- Qualified entities  
+-- Qualified entities
hunk ./FrontEnd/Representation.hs 235
-           []            -> prettyPrintPredM pred 
+           []            -> prettyPrintPredM pred
hunk ./FrontEnd/Representation.hs 237
-                               rightPredDoc <- prettyPrintPredM pred 
+                               rightPredDoc <- prettyPrintPredM pred
hunk ./FrontEnd/Representation.hs 239
-           preds@(_:_:_) -> do docs <- mapM prettyPrintPredM preds 
-                               let predsDoc = parens (hcat (punctuate comma docs)) 
+           preds@(_:_:_) -> do docs <- mapM prettyPrintPredM preds
+                               let predsDoc = parens (hcat (punctuate comma docs))
hunk ./FrontEnd/Representation.hs 242
-                               return $ hsep [predsDoc, text "=>", rightPredDoc] 
+                               return $ hsep [predsDoc, text "=>", rightPredDoc]
hunk ./FrontEnd/Representation.hs 251
-           [p]           -> do predDoc <- prettyPrintPredM p 
+           [p]           -> do predDoc <- prettyPrintPredM p
hunk ./FrontEnd/Representation.hs 254
-           preds@(_:_:_) -> do docs <- mapM prettyPrintPredM preds 
+           preds@(_:_:_) -> do docs <- mapM prettyPrintPredM preds
hunk ./FrontEnd/Representation.hs 258
- 
+
hunk ./FrontEnd/Representation.hs 265
-instance PPrint Doc (Qual Pred) where 
+instance PPrint Doc (Qual Pred) where
hunk ./FrontEnd/Representation.hs 268
-instance PPrint Doc (Qual Type) where 
+instance PPrint Doc (Qual Type) where
hunk ./FrontEnd/Representation.hs 272
---prettyPrintInst inst 
+--prettyPrintInst inst
hunk ./FrontEnd/Representation.hs 286
---getTypeCons (TTuple xs) = Qual (Module "Prelude") $ HsIdent ("(" ++ (replicate (length xs - 1) ',') ++ ")")
---getTypeCons (TTuple xs) | n <- length xs, n > 1  = toTuple n
hunk ./FrontEnd/Representation.hs 296
-  pprint scheme 
+  pprint scheme
hunk ./FrontEnd/Representation.hs 322
-type NameSupply = [String]    -- a fresh name supply 
+type NameSupply = [String]    -- a fresh name supply
hunk ./FrontEnd/Representation.hs 325
-      vmap  :: VMap,       -- the map of variables to names 
-      names :: NameSupply  -- a fresh name Supply 
+      vmap  :: VMap,       -- the map of variables to names
+      names :: NameSupply  -- a fresh name Supply
hunk ./FrontEnd/Representation.hs 330
-    return a 
+    return a
hunk ./FrontEnd/Representation.hs 332
-    VarName comp >>= fun   
+    VarName comp >>= fun
hunk ./FrontEnd/Representation.hs 349
-getVMap = select vmap 
+getVMap = select vmap
hunk ./FrontEnd/Representation.hs 354
-                        in ((), state {vmap = newEntry : oldmap}))  
+                        in ((), state {vmap = newEntry : oldmap}))
hunk ./FrontEnd/Representation.hs 357
-nextName 
+nextName
hunk ./FrontEnd/Representation.hs 362
-lookupInMap t 
-   = do m <- getVMap
-        return $ lookup t m 
+lookupInMap t = do
+    m <- getVMap
+    return $ lookup t m
+
+
hunk ./FrontEnd/Type.hs 3
-        Copyright:              Mark Jones and The Hatchet Team 
+        Copyright:              Mark Jones and The Hatchet Team
hunk ./FrontEnd/Type.hs 44
-             ) where 
+             ) where
hunk ./FrontEnd/Type.hs 50
-import Monad   (foldM)
hunk ./FrontEnd/Type.hs 65
---  inst ts (TTuple args) = TTuple $ map (inst ts) args
hunk ./FrontEnd/Type.hs 89
+                     _ -> error "Type.kind: Invalid kind"
hunk ./FrontEnd/Type.hs 91
---  kind (TTuple _args) = Star
hunk ./FrontEnd/Type.hs 115
-  
-  -- attempting to cache successful substitutions doesn't
-  -- seem to make much difference, as the variables are 
-  -- mostly independent
-
---  apply s (TVar var@(Tyvar name _kind)) 
---     = case lookupSubstitutionMap s name of
---          Just t  -> t
---          Nothing -> TVar var 
-  apply s x@(TVar (Tyvar var _ _)) 
+  apply s x@(TVar Tyvar { tyvarAtom = var })
hunk ./FrontEnd/Type.hs 121
---  apply s (TTuple args) = TTuple $ map (apply s) args 
hunk ./FrontEnd/Type.hs 125
-  tv (TArrow l r)  = tv l `union` tv r 
-  -- tv (TTuple args) = concatMap tv args 
---  tv (TTuple args) = foldl union [] $ map tv args 
+  tv (TArrow l r)  = tv l `union` tv r
hunk ./FrontEnd/Type.hs 129
-  apply s = map (apply s)              -- it may be worth using a cached version of apply in this circumstance? 
+  apply s = map (apply s)              -- it may be worth using a cached version of apply in this circumstance?
hunk ./FrontEnd/Type.hs 134
-s1 @@ s2 
+s1 @@ s2
hunk ./FrontEnd/Type.hs 137
-   s1OverS2 = mapSubstitution s1 s2 
+   s1OverS2 = mapSubstitution s1 s2
hunk ./FrontEnd/Type.hs 140
-merge s1 s2 = if agree then return s else fail $ "merge: substitutions don't agree" 
+merge s1 s2 = if agree then return s else fail $ "merge: substitutions don't agree"
hunk ./FrontEnd/Type.hs 146
--- highly specialised version of lookupFM for
--- a Substitution. It is worth specialising this as it is called
--- frequently during a call to apply
--- according to profiling almost half of the computation time
--- is spent here
-
-{-
-lookupSubstitutionMap :: FiniteMap Tyvar Type -> HsName -> Maybe Type
-lookupSubstitutionMap (Node (Tyvar k _kind) e _ sm gr) k'
-   | k' <  k    = lookupSubstitutionMap sm k' 
-   | k' >  k    = lookupSubstitutionMap gr k' 
-   | otherwise  = Just e
-lookupSubstitutionMap Leaf _
-   = Nothing
--- specialised version of mapFM for substitutions
-
-mapSubstitution :: Subst -> FiniteMap Tyvar Type -> FiniteMap Tyvar Type 
-mapSubstitution s (Node k e n sm gr)  = Node k (apply s e) n (mapSubstitution s sm) (mapSubstitution s gr)
-mapSubstitution s Leaf                = Leaf
--}
hunk ./FrontEnd/Type.hs 149
-
---rnfFM fm = Map.fold (\k e a -> k `seq` e `seq` a) () fm `seq` fm
hunk ./FrontEnd/Type.hs 157
-mgu (TAp l r) (TAp l' r') 
+mgu (TAp l r) (TAp l' r')
hunk ./FrontEnd/Type.hs 163
-   = do s1 <- mgu l l' 
+   = do s1 <- mgu l l'
hunk ./FrontEnd/Type.hs 166
-
-
--- DEPR TTuple
---mgu (TTuple args1) (TTuple args2)
---   = do let lenArgs1 = length args1
---        let lenArgs2 = length args2
---        -- check the dimensions of the tuples are the same
---        case lenArgs1 == lenArgs2 of
---           True  -> foldM (\oldSub (t1,t2) -> case mgu (apply oldSub t1) (apply oldSub t2) of
---                                                 Nothing      -> Nothing
---                                                 Just newSub  -> return (newSub @@ oldSub)) 
---                          nullSubst
---                          (zip args1 args2)
---           False -> Nothing 
hunk ./FrontEnd/Type.hs 182
-match (TAp l r) (TAp l' r') 
+match (TAp l r) (TAp l' r')
hunk ./FrontEnd/Type.hs 187
-match (TArrow l r) (TArrow l' r') 
+match (TArrow l r) (TArrow l' r')
hunk ./FrontEnd/Type.hs 191
-
-
--- DEPR TTuple
---match (TTuple args1) (TTuple args2) 
---   = do let lenArgs1 = length args1
---        let lenArgs2 = length args2
---        -- check the dimensions of the tuples are the same
---        case lenArgs1 == lenArgs2 of
---           True  -> foldM (\oldSub (t1,t2) -> case match t1 t2 of
---                                                 Nothing      -> Nothing
---                                                 Just newSub  -> merge oldSub newSub)
---                          nullSubst
---                          (zip args1 args2)
---           False -> Nothing 
hunk ./FrontEnd/Type.hs 221
---    uq (TTuple ts) = TTuple (map uq ts)
hunk ./FrontEnd/Type.hs 238
-assumpId :: Assump -> HsName 
+assumpId :: Assump -> HsName
hunk ./FrontEnd/Type.hs 242
-assumpScheme (_id :>: scheme) = scheme 
+assumpScheme (_id :>: scheme) = scheme
hunk ./Ho.hs 48
-import Text.PrettyPrint.HughesPJ(render)