summaryrefslogtreecommitdiff
path: root/compiler/types
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2011-09-07 17:44:35 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2011-09-07 17:44:35 +0100
commitaba74afd5d34a8c8c61898d719f7d766ae2acf29 (patch)
treebab2d0c2b544f79e0dbb33dac37ca935192b1932 /compiler/types
parent536359d4434d645f1b79370c7ef83cd008cd300c (diff)
downloadhaskell-aba74afd5d34a8c8c61898d719f7d766ae2acf29.tar.gz
Comments and layout
Diffstat (limited to 'compiler/types')
-rw-r--r--compiler/types/Class.lhs13
-rw-r--r--compiler/types/Coercion.lhs2
2 files changed, 8 insertions, 7 deletions
diff --git a/compiler/types/Class.lhs b/compiler/types/Class.lhs
index a10b19efe7..e66d10c7e6 100644
--- a/compiler/types/Class.lhs
+++ b/compiler/types/Class.lhs
@@ -48,10 +48,14 @@ A @Class@ corresponds to a Greek kappa in the static semantics:
\begin{code}
data Class
= Class {
- classKey :: Unique, -- Key for fast comparison
+ classTyCon :: TyCon, -- The data type constructor for
+ -- dictionaries of this class
+
className :: Name, -- Just the cached name of the TyCon
+ classKey :: Unique, -- Cached unique of TyCon
- classTyVars :: [TyVar], -- The class type variables
+ classTyVars :: [TyVar], -- The class type variables;
+ -- identical to those of the TyCon
classFunDeps :: [FunDep TyVar], -- The functional dependencies
-- Superclasses: eg: (F a ~ b, F b ~ G a, Eq a, Show b)
@@ -65,10 +69,7 @@ data Class
classATs :: [TyCon], -- Associated type families
-- Class operations (methods, not superclasses)
- classOpStuff :: [ClassOpItem], -- Ordered by tag
-
- classTyCon :: TyCon -- The data type constructor for
- -- dictionaries of this class
+ classOpStuff :: [ClassOpItem] -- Ordered by tag
}
deriving Typeable
diff --git a/compiler/types/Coercion.lhs b/compiler/types/Coercion.lhs
index b79efc5e4a..ea2edc3077 100644
--- a/compiler/types/Coercion.lhs
+++ b/compiler/types/Coercion.lhs
@@ -294,7 +294,7 @@ isCoVar :: Var -> Bool
isCoVar v = isCoVarType (varType v)
isCoVarType :: Type -> Bool
-isCoVarType ty
+isCoVarType ty -- Tests for t1 ~# t2, the unboxed equality
| Just tc <- tyConAppTyCon_maybe ty = tc `hasKey` eqPrimTyConKey
| otherwise = False
\end{code}