[project @ 1998-12-02 13:17:09 by simonm]
[ghc-hetmet.git] / ghc / compiler / hsSyn / HsPragmas.lhs
1 %
2 % (c) The GRASP/AQUA Project, Glasgow University, 1993-1998
3 %
4 %************************************************************************
5 %*                                                                      *
6 \section[HsPragmas]{Pragmas in Haskell interface files}
7 %*                                                                      *
8 %************************************************************************
9
10 See also: @Sig@ (``signatures'') which is where user-supplied pragmas
11 for values show up; ditto @SpecInstSig@ (for instances) and
12 @SpecDataSig@ (for data types).
13
14 \begin{code}
15 module HsPragmas where
16
17 #include "HsVersions.h"
18
19 import IdInfo
20 import Outputable
21 \end{code}
22
23 All the pragma stuff has changed.  Here are some placeholders!
24
25 \begin{code}
26 data GenPragmas name  = NoGenPragmas
27 data DataPragmas name = NoDataPragmas
28 data InstancePragmas name = NoInstancePragmas
29 data ClassOpPragmas name  = NoClassOpPragmas
30 data ClassPragmas name  = NoClassPragmas
31
32 noClassPragmas = NoClassPragmas
33 isNoClassPragmas NoClassPragmas = True
34
35 noDataPragmas = NoDataPragmas
36 isNoDataPragmas NoDataPragmas = True
37
38 noGenPragmas = NoGenPragmas
39 isNoGenPragmas NoGenPragmas = True
40
41 noInstancePragmas = NoInstancePragmas
42 isNoInstancePragmas NoInstancePragmas = True
43
44 noClassOpPragmas = NoClassOpPragmas
45 isNoClassOpPragmas NoClassOpPragmas = True
46
47 instance Outputable name => Outputable (ClassPragmas name) where
48     ppr NoClassPragmas = empty
49
50 instance Outputable name => Outputable (ClassOpPragmas name) where
51     ppr NoClassOpPragmas = empty
52
53 instance Outputable name => Outputable (InstancePragmas name) where
54     ppr NoInstancePragmas = empty
55
56 instance Outputable name => Outputable (GenPragmas name) where
57     ppr NoGenPragmas = empty
58 \end{code}