[project @ 1999-08-02 11:43:41 by simonmar]
[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   gcdIntegerzh
192   quotRemIntegerzh
193   integer2Intzh
194   integer2Wordzh
195   int2Integerzh
196   word2Integerzh
197   integerToInt64zh
198   integerToWord64zh
199   int64ToIntegerzh
200   word64ToIntegerzh
201   
202   Arrayzh
203   ByteArrayzh
204   MutableArrayzh
205   MutableByteArrayzh
206   
207   sameMutableArrayzh
208   sameMutableByteArrayzh
209   
210   newArrayzh
211   newCharArrayzh
212   newIntArrayzh
213   newWordArrayzh
214   newFloatArrayzh
215   newDoubleArrayzh
216   newAddrArrayzh
217   newStablePtrArrayzh
218   
219   indexArrayzh
220   indexCharArrayzh
221   indexIntArrayzh
222   indexWordArrayzh
223   indexFloatArrayzh
224   indexDoubleArrayzh
225   indexAddrArrayzh
226   indexStablePtrArrayzh
227   indexInt64Arrayzh
228   indexWord64Arrayzh
229   
230 --  indexOffAddrzh
231   indexCharOffAddrzh
232   indexIntOffAddrzh
233   indexWordOffAddrzh
234   indexAddrOffAddrzh
235   indexFloatOffAddrzh
236   indexDoubleOffAddrzh
237   indexStablePtrOffAddrzh
238   indexInt64OffAddrzh
239   indexWord64OffAddrzh
240   
241   writeCharOffAddrzh
242   writeIntOffAddrzh
243   writeWordOffAddrzh
244   writeAddrOffAddrzh
245   writeForeignObjOffAddrzh
246   writeFloatOffAddrzh
247   writeDoubleOffAddrzh
248   writeStablePtrOffAddrzh
249   writeInt64OffAddrzh
250   writeWord64OffAddrzh
251
252 --  indexOffForeignObjzh
253   indexCharOffForeignObjzh
254   indexIntOffForeignObjzh
255   indexWordOffForeignObjzh
256   indexAddrOffForeignObjzh
257   indexFloatOffForeignObjzh
258   indexDoubleOffForeignObjzh
259   indexStablePtrOffForeignObjzh
260   indexInt64OffForeignObjzh
261   indexWord64OffForeignObjzh
262   
263   writeArrayzh
264   writeCharArrayzh
265   writeIntArrayzh
266   writeWordArrayzh
267   writeFloatArrayzh
268   writeDoubleArrayzh
269   writeAddrArrayzh
270   writeStablePtrArrayzh
271   writeInt64Arrayzh
272   writeWord64Arrayzh
273   
274   readArrayzh
275   readCharArrayzh
276   readIntArrayzh
277   readWordArrayzh
278   readFloatArrayzh
279   readDoubleArrayzh
280   readAddrArrayzh
281   readStablePtrArrayzh
282   readInt64Arrayzh
283   readWord64Arrayzh
284
285   unsafeFreezzeArrayzh          -- Note zz in the middle
286   unsafeFreezzeByteArrayzh      -- Ditto
287
288   unsafeThawArrayzh
289   unsafeThawByteArrayzh
290
291   sizzeofByteArrayzh            -- Ditto
292   sizzeofMutableByteArrayzh     -- Ditto
293
294   MutVarzh
295   newMutVarzh
296   readMutVarzh
297   writeMutVarzh
298   sameMutVarzh
299
300   catchzh
301   raisezh
302
303   Weakzh
304   mkWeakzh
305   deRefWeakzh
306   finalizzeWeakzh
307
308   ForeignObjzh
309   makeForeignObjzh
310   writeForeignObjzh
311
312   StablePtrzh
313   makeStablePtrzh
314   deRefStablePtrzh
315   eqStablePtrzh
316
317   StableNamezh
318   makeStableNamezh
319   eqStableNamezh
320   stableNameToIntzh
321
322   reallyUnsafePtrEqualityzh
323
324   unsafeCoercezh
325 ;
326
327 -- CCallable and CReturnable have kind (Type AnyBox) so that
328 -- things like Int# can be instances of CCallable. 
329 1 class CCallable a :: ? ;
330 1 class CReturnable a :: ? ;
331
332 1 assert :: __forall [a] => PrelBase.Bool -> a -> a ;