Fix CodingStyle#Warnings URLs
[ghc-hetmet.git] / compiler / iface / IfaceType.lhs
index 64d8892..5528a1b 100644 (file)
@@ -1,10 +1,18 @@
 %
+% (c) The University of Glasgow 2006
 % (c) The GRASP/AQUA Project, Glasgow University, 1993-1998
 %
 
-       This module defines interface types and binders
+This module defines interface types and binders
 
 \begin{code}
+{-# OPTIONS -w #-}
+-- The above warning supression flag is a temporary kludge.
+-- While working on this module you are encouraged to remove it and fix
+-- any warnings in the module. See
+--     http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
+-- for details
+
 module IfaceType (
        IfaceType(..), IfaceKind, IfacePredType(..), IfaceTyCon(..),
        IfaceContext, IfaceBndr(..), IfaceTvBndr, IfaceIdBndr, IfaceCoercion,
@@ -24,18 +32,12 @@ module IfaceType (
 
 #include "HsVersions.h"
 
-import TypeRep         ( TyThing(..), Type(..), PredType(..), ThetaType,
-                          unliftedTypeKindTyConName, openTypeKindTyConName,
-                          ubxTupleKindTyConName, argTypeKindTyConName,
-                          liftedTypeKindTyConName )
-import TyCon           ( TyCon, isTupleTyCon, tyConArity, tupleTyConBoxity, tyConName )
-import Var             ( isId, tyVarKind, idType )
-import TysWiredIn      ( listTyConName, parrTyConName, tupleTyCon, intTyConName, charTyConName, boolTyConName )
-import OccName         ( OccName, parenSymOcc, occNameFS )
-import Name            ( Name, getName, getOccName, nameModule, nameOccName,
-                         wiredInNameTyThing_maybe )
-import Module          ( Module, ModuleName )
-import BasicTypes      ( IPName(..), Arity, Version, mapIPName, tupleParens, Boxity )
+import TypeRep
+import TyCon
+import Var
+import TysWiredIn
+import Name
+import BasicTypes
 import Outputable
 import FastString
 \end{code}
@@ -55,8 +57,7 @@ type IfaceIdBndr  = (FastString, IfaceType)
 type IfaceTvBndr  = (FastString, IfaceKind)
 
 -------------------------------
-type IfaceKind = IfaceType                     -- Re-use the Kind type, but no KindVars in it
-
+type IfaceKind     = IfaceType
 type IfaceCoercion = IfaceType
 
 data IfaceType
@@ -84,6 +85,7 @@ data IfaceTyCon       -- Abbreviations for common tycons with known names
   | IfaceTupTc Boxity Arity 
   | IfaceLiftedTypeKindTc | IfaceOpenTypeKindTc | IfaceUnliftedTypeKindTc
   | IfaceUbxTupleKindTc | IfaceArgTypeKindTc 
+  deriving( Eq )
 
 ifaceTyConName :: IfaceTyCon -> Name
 ifaceTyConName IfaceIntTc        = intTyConName
@@ -181,14 +183,7 @@ pprIfaceTvBndrs tyvars = hsep (map pprIfaceTvBndr tyvars)
 \begin{code}
 ---------------------------------
 instance Outputable IfaceType where
-  ppr ty = pprIfaceTypeForUser ty
-
-pprIfaceTypeForUser ::IfaceType -> SDoc
--- Drop top-level for-alls; if that's not what you want, use pprIfaceType dire
-pprIfaceTypeForUser ty
-  = pprIfaceForAllPart [] theta (pprIfaceType tau)
- where         
-    (_tvs, theta, tau) = splitIfaceSigmaTy ty
+  ppr ty = pprIfaceType ty
 
 pprIfaceType, pprParendIfaceType ::IfaceType -> SDoc
 pprIfaceType       = ppr_ty tOP_PREC