[project @ 1999-03-16 13:20:07 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   -- I/O primitives
22   RealWorld
23   realWorldzh
24   Statezh
25
26   -- Concurrency primitives
27   ThreadIdzh
28   myThreadIdzh
29   forkzh
30   yieldzh
31   killThreadzh
32   delayzh
33   waitReadzh
34   waitWritezh
35
36   -- MVars
37   MVarzh
38   sameMVarzh
39   newMVarzh
40   takeMVarzh
41   putMVarzh
42   isEmptyMVarzh
43   
44   -- Parallel
45   seqzh
46   parzh
47   parGlobalzh
48   parLocalzh
49   parAtzh
50   parAtAbszh
51   parAtRelzh
52   parAtForNowzh
53
54   -- Character Type
55   Charzh 
56   gtCharzh
57   geCharzh
58   eqCharzh
59   neCharzh
60   ltCharzh
61   leCharzh
62   ordzh
63   chrzh
64   
65   -- Int Type
66   Intzh
67   zgzh
68   zgzezh
69   zezezh
70   zszezh
71   zlzh
72   zlzezh
73   zpzh
74   zmzh
75   ztzh
76   zszh
77   quotIntzh
78   remIntzh
79   negateIntzh
80   iShiftLzh
81   iShiftRAzh
82   iShiftRLzh
83   addIntCzh
84   subIntCzh
85   mulIntCzh
86   
87   Wordzh
88   gtWordzh
89   geWordzh
90   eqWordzh
91   neWordzh
92   ltWordzh
93   leWordzh
94   quotWordzh
95   remWordzh
96   andzh
97   orzh
98   notzh
99   xorzh
100   shiftLzh
101 --  shiftRAzh
102   shiftRLzh
103   int2Wordzh
104   word2Intzh
105   
106   Word64zh
107
108   Int64zh
109
110   Addrzh
111   gtAddrzh
112   geAddrzh
113   eqAddrzh
114   neAddrzh
115   ltAddrzh
116   leAddrzh
117   int2Addrzh
118   addr2Intzh
119   addr2Integerzh
120
121   Floatzh
122   gtFloatzh
123   geFloatzh
124   eqFloatzh
125   neFloatzh
126   ltFloatzh
127   leFloatzh
128   plusFloatzh
129   minusFloatzh
130   timesFloatzh
131   divideFloatzh
132   negateFloatzh
133   float2Intzh
134   int2Floatzh
135   expFloatzh
136   logFloatzh
137   sqrtFloatzh
138   sinFloatzh
139   cosFloatzh
140   tanFloatzh
141   asinFloatzh
142   acosFloatzh
143   atanFloatzh
144   sinhFloatzh
145   coshFloatzh
146   tanhFloatzh
147   powerFloatzh
148   decodeFloatzh
149   
150   Doublezh
151   zgzhzh
152   zgzezhzh
153   zezezhzh
154   zszezhzh
155   zlzhzh
156   zlzezhzh
157   zpzhzh
158   zmzhzh
159   ztzhzh
160   zszhzh
161   negateDoublezh
162   double2Intzh
163   int2Doublezh
164   double2Floatzh
165   float2Doublezh
166   expDoublezh
167   logDoublezh
168   sqrtDoublezh
169   sinDoublezh
170   cosDoublezh
171   tanDoublezh
172   asinDoublezh
173   acosDoublezh
174   atanDoublezh
175   sinhDoublezh
176   coshDoublezh
177   tanhDoublezh
178   ztztzhzh
179   decodeDoublezh
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   unsafeThawArrayzh
283   unsafeThawByteArrayzh
284
285   sizzeofByteArrayzh            -- Ditto
286   sizzeofMutableByteArrayzh     -- Ditto
287
288   MutVarzh
289   newMutVarzh
290   readMutVarzh
291   writeMutVarzh
292   sameMutVarzh
293
294   catchzh
295   raisezh
296
297   Weakzh
298   mkWeakzh
299   deRefWeakzh
300   finalizzeWeakzh
301
302   ForeignObjzh
303   makeForeignObjzh
304   writeForeignObjzh
305
306   StablePtrzh
307   makeStablePtrzh
308   deRefStablePtrzh
309   eqStablePtrzh
310
311   StableNamezh
312   makeStableNamezh
313   eqStableNamezh
314   stableNameToIntzh
315
316   reallyUnsafePtrEqualityzh
317
318   unsafeCoercezh
319 ;
320
321 -- CCallable and CReturnable have kind (Type AnyBox) so that
322 -- things like Int# can be instances of CCallable. 
323 1 class CCallable a :: ? ;
324 1 class CReturnable a :: ? ;
325
326 1 assert :: __forall [a] => PrelBase.Bool -> a -> a ;