a4c5d30acbe11ef1ef20d4309ae804644f5090f0
[ghc-hetmet.git] / ghc / lib / std / PrelGHC.hi-boot
1 ---------------------------------------------------------------------------
2 --                              GHC.hi
3 -- 
4 --      This hand-written interface file allows you to bring into scope the 
5 --      primitive operations and types that GHC knows about.
6 ---------------------------------------------------------------------------
7
8 __interface PrelGHC 2 0 where
9
10 __export PrelGHC
11
12   ZLzmzgZR      -- (->)
13
14   All   -- Pseudo class used for universal quantification
15   CCallable
16   CReturnable
17
18 -- Magical assert thingy
19   assert
20
21   -- I/O primitives
22   RealWorld
23   realWorldzh
24   Statezh
25
26   -- Concurrency primitives
27   ThreadIdzh
28   forkzh
29   killThreadzh
30   delayzh
31   waitReadzh
32   waitWritezh
33
34   -- MVars
35   MVarzh
36   sameMVarzh
37   newMVarzh
38   takeMVarzh
39   putMVarzh
40   isEmptyMVarzh
41   
42   -- Parallel
43   seqzh
44   parzh
45   parGlobalzh
46   parLocalzh
47   parAtzh
48   parAtAbszh
49   parAtRelzh
50   parAtForNowzh
51
52   -- Character Type
53   Charzh 
54   gtCharzh
55   geCharzh
56   eqCharzh
57   neCharzh
58   ltCharzh
59   leCharzh
60   ordzh
61   chrzh
62   
63   -- Int Type
64   Intzh
65   zgzh
66   zgzezh
67   zezezh
68   zszezh
69   zlzh
70   zlzezh
71   zpzh
72   zmzh
73   ztzh
74   zszh
75   quotIntzh
76   remIntzh
77   negateIntzh
78   iShiftLzh
79   iShiftRAzh
80   iShiftRLzh
81   addIntCzh
82   subIntCzh
83   mulIntCzh
84   
85   Wordzh
86   gtWordzh
87   geWordzh
88   eqWordzh
89   neWordzh
90   ltWordzh
91   leWordzh
92   quotWordzh
93   remWordzh
94   andzh
95   orzh
96   notzh
97   xorzh
98   shiftLzh
99 --  shiftRAzh
100   shiftRLzh
101   int2Wordzh
102   word2Intzh
103   
104   Word64zh
105
106   Int64zh
107
108   Addrzh
109   gtAddrzh
110   geAddrzh
111   eqAddrzh
112   neAddrzh
113   ltAddrzh
114   leAddrzh
115   int2Addrzh
116   addr2Intzh
117   addr2Integerzh
118
119   Floatzh
120   gtFloatzh
121   geFloatzh
122   eqFloatzh
123   neFloatzh
124   ltFloatzh
125   leFloatzh
126   plusFloatzh
127   minusFloatzh
128   timesFloatzh
129   divideFloatzh
130   negateFloatzh
131   float2Intzh
132   int2Floatzh
133   expFloatzh
134   logFloatzh
135   sqrtFloatzh
136   sinFloatzh
137   cosFloatzh
138   tanFloatzh
139   asinFloatzh
140   acosFloatzh
141   atanFloatzh
142   sinhFloatzh
143   coshFloatzh
144   tanhFloatzh
145   powerFloatzh
146   decodeFloatzh
147   encodeFloatzh
148   
149   Doublezh
150   zgzhzh
151   zgzezhzh
152   zezezhzh
153   zszezhzh
154   zlzhzh
155   zlzezhzh
156   zpzhzh
157   zmzhzh
158   ztzhzh
159   zszhzh
160   negateDoublezh
161   double2Intzh
162   int2Doublezh
163   double2Floatzh
164   float2Doublezh
165   expDoublezh
166   logDoublezh
167   sqrtDoublezh
168   sinDoublezh
169   cosDoublezh
170   tanDoublezh
171   asinDoublezh
172   acosDoublezh
173   atanDoublezh
174   sinhDoublezh
175   coshDoublezh
176   tanhDoublezh
177   ztztzhzh
178   decodeDoublezh
179   encodeDoublezh
180   
181   cmpIntegerzh
182   cmpIntegerIntzh
183   plusIntegerzh
184   minusIntegerzh
185   timesIntegerzh
186   quotRemIntegerzh
187   integer2Intzh
188   integer2Wordzh
189   int2Integerzh
190   word2Integerzh
191   integerToInt64zh
192   integerToWord64zh
193   int64ToIntegerzh
194   word64ToIntegerzh
195   
196   Arrayzh
197   ByteArrayzh
198   MutableArrayzh
199   MutableByteArrayzh
200   
201   sameMutableArrayzh
202   sameMutableByteArrayzh
203   
204   newArrayzh
205   newCharArrayzh
206   newIntArrayzh
207   newWordArrayzh
208   newFloatArrayzh
209   newDoubleArrayzh
210   newAddrArrayzh
211   newStablePtrArrayzh
212   
213   indexArrayzh
214   indexCharArrayzh
215   indexIntArrayzh
216   indexWordArrayzh
217   indexFloatArrayzh
218   indexDoubleArrayzh
219   indexAddrArrayzh
220   indexStablePtrArrayzh
221   indexInt64Arrayzh
222   indexWord64Arrayzh
223   
224 --  indexOffAddrzh
225   indexCharOffAddrzh
226   indexIntOffAddrzh
227   indexWordOffAddrzh
228   indexAddrOffAddrzh
229   indexFloatOffAddrzh
230   indexDoubleOffAddrzh
231   indexStablePtrOffAddrzh
232   indexInt64OffAddrzh
233   indexWord64OffAddrzh
234   
235   writeCharOffAddrzh
236   writeIntOffAddrzh
237   writeWordOffAddrzh
238   writeAddrOffAddrzh
239   writeForeignObjOffAddrzh
240   writeFloatOffAddrzh
241   writeDoubleOffAddrzh
242   writeStablePtrOffAddrzh
243   writeInt64OffAddrzh
244   writeWord64OffAddrzh
245
246 --  indexOffForeignObjzh
247   indexCharOffForeignObjzh
248   indexIntOffForeignObjzh
249   indexWordOffForeignObjzh
250   indexAddrOffForeignObjzh
251   indexFloatOffForeignObjzh
252   indexDoubleOffForeignObjzh
253   indexStablePtrOffForeignObjzh
254   indexInt64OffForeignObjzh
255   indexWord64OffForeignObjzh
256   
257   writeArrayzh
258   writeCharArrayzh
259   writeIntArrayzh
260   writeWordArrayzh
261   writeFloatArrayzh
262   writeDoubleArrayzh
263   writeAddrArrayzh
264   writeStablePtrArrayzh
265   writeInt64Arrayzh
266   writeWord64Arrayzh
267   
268   readArrayzh
269   readCharArrayzh
270   readIntArrayzh
271   readWordArrayzh
272   readFloatArrayzh
273   readDoubleArrayzh
274   readAddrArrayzh
275   readStablePtrArrayzh
276   readInt64Arrayzh
277   readWord64Arrayzh
278
279   unsafeFreezzeArrayzh          -- Note zz in the middle
280   unsafeFreezzeByteArrayzh      -- Ditto
281
282   sizzeofByteArrayzh            -- Ditto
283   sizzeofMutableByteArrayzh     -- Ditto
284
285   MutVarzh
286   newMutVarzh
287   readMutVarzh
288   writeMutVarzh
289   sameMutVarzh
290
291   catchzh
292   raisezh
293
294   Weakzh
295   mkWeakzh
296   deRefWeakzh
297   finalizzeWeakzh
298
299   ForeignObjzh
300   makeForeignObjzh
301   writeForeignObjzh
302
303   StablePtrzh
304   makeStablePtrzh
305   deRefStablePtrzh
306   eqStablePtrzh
307
308   StableNamezh
309   makeStableNamezh
310   eqStableNamezh
311   stableNameToIntzh
312
313   reallyUnsafePtrEqualityzh
314
315   unsafeCoercezh
316 ;
317
318 -- CCallable and CReturnable have kind (Type AnyBox) so that
319 -- things like Int# can be instances of CCallable. 
320 1 class CCallable a :: ? ;
321 1 class CReturnable a :: ? ;
322
323 1 assert :: __forall [a] => PrelBase.Bool -> a -> a ;