[project @ 1999-08-20 13:12:18 by simonpj]
[ghc-hetmet.git] / ghc / compiler / basicTypes / FieldLabel.lhs
index 7eea7b8..a0a85dd 100644 (file)
@@ -1,20 +1,18 @@
 %
-% (c) The AQUA Project, Glasgow University, 1996
+% (c) The AQUA Project, Glasgow University, 1996-1998
 %
 \section[FieldLabel]{The @FieldLabel@ type}
 
 \begin{code}
-#include "HsVersions.h"
-
 module FieldLabel where
 
-IMP_Ubiq(){-uitous-}
+#include "HsVersions.h"
 
-import Name            --( Name{-instance Eq/Outputable-}, nameUnique )
-import Type            ( SYN_IE(Type) )
+import {-# SOURCE #-}  TypeRep( Type ) -- FieldLabel is compiled very early
 
+import Name            ( Name{-instance Eq/Outputable-}, NamedThing(..), nameUnique )
 import Outputable
-import UniqFM           ( SYN_IE(Uniquable) )
+import Unique           ( Uniquable(..) )
 \end{code}
 
 \begin{code}
@@ -26,6 +24,8 @@ data FieldLabel
                                -- The type in the FieldLabel for op1 will be simply (a->a).
 
                FieldLabelTag   -- Indicates position within constructor
+                               -- (starting with firstFieldLabelTag)
+                               --
                                -- If the same field occurs in more than one constructor
                                -- then it'll have a separate FieldLabel on each occasion,
                                -- but with a single name (and presumably the same type!)
@@ -38,7 +38,7 @@ firstFieldLabelTag :: FieldLabelTag
 firstFieldLabelTag = 1
 
 allFieldLabelTags :: [FieldLabelTag]
-allFieldLabelTags = [1..]
+allFieldLabelTags = [firstFieldLabelTag..]
 
 fieldLabelName (FieldLabel n _  _)   = n
 fieldLabelType (FieldLabel _ ty _)   = ty
@@ -48,11 +48,11 @@ instance Eq FieldLabel where
     (FieldLabel n1 _ _) == (FieldLabel n2 _ _) = n1 == n2
 
 instance Outputable FieldLabel where
-    ppr sty (FieldLabel n _ _) = ppr sty n
+    ppr (FieldLabel n _ _) = ppr n
 
 instance NamedThing FieldLabel where
     getName (FieldLabel n _ _) = n
 
 instance Uniquable FieldLabel where
-    uniqueOf (FieldLabel n _ _) = nameUnique n
+    getUnique (FieldLabel n _ _) = nameUnique n
 \end{code}