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