2 % (c) The AQUA Project, Glasgow University, 1996
4 \section[FieldLabel]{The @FieldLabel@ type}
7 #include "HsVersions.h"
9 module FieldLabel where
13 import Name ( Name{-instance Eq/Outputable-} )
14 import Type ( Type(..) )
23 type FieldLabelTag = Int
25 mkFieldLabel = FieldLabel
27 firstFieldLabelTag :: FieldLabelTag
28 firstFieldLabelTag = 1
30 allFieldLabelTags :: [FieldLabelTag]
31 allFieldLabelTags = [1..]
33 fieldLabelName (FieldLabel n _ _) = n
34 fieldLabelType (FieldLabel _ ty _) = ty
35 fieldLabelTag (FieldLabel _ _ tag) = tag
37 instance Eq FieldLabel where
38 (FieldLabel n1 _ _) == (FieldLabel n2 _ _) = n1 == n2
40 instance Outputable FieldLabel where
41 ppr sty (FieldLabel n _ _) = ppr sty n
43 instance NamedThing FieldLabel where
44 getName (FieldLabel n _ _) = n