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