[project @ 1999-02-11 17:15:20 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   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   
82   Wordzh
83   gtWordzh
84   geWordzh
85   eqWordzh
86   neWordzh
87   ltWordzh
88   leWordzh
89   quotWordzh
90   remWordzh
91   andzh
92   orzh
93   notzh
94   xorzh
95   shiftLzh
96 --  shiftRAzh
97   shiftRLzh
98   int2Wordzh
99   word2Intzh
100   
101   Word64zh
102
103   Int64zh
104
105   Addrzh
106   gtAddrzh
107   geAddrzh
108   eqAddrzh
109   neAddrzh
110   ltAddrzh
111   leAddrzh
112   int2Addrzh
113   addr2Intzh
114   addr2Integerzh
115
116   Floatzh
117   gtFloatzh
118   geFloatzh
119   eqFloatzh
120   neFloatzh
121   ltFloatzh
122   leFloatzh
123   plusFloatzh
124   minusFloatzh
125   timesFloatzh
126   divideFloatzh
127   negateFloatzh
128   float2Intzh
129   int2Floatzh
130   expFloatzh
131   logFloatzh
132   sqrtFloatzh
133   sinFloatzh
134   cosFloatzh
135   tanFloatzh
136   asinFloatzh
137   acosFloatzh
138   atanFloatzh
139   sinhFloatzh
140   coshFloatzh
141   tanhFloatzh
142   powerFloatzh
143   decodeFloatzh
144   encodeFloatzh
145   
146   Doublezh
147   zgzhzh
148   zgzezhzh
149   zezezhzh
150   zszezhzh
151   zlzhzh
152   zlzezhzh
153   zpzhzh
154   zmzhzh
155   ztzhzh
156   zszhzh
157   negateDoublezh
158   double2Intzh
159   int2Doublezh
160   double2Floatzh
161   float2Doublezh
162   expDoublezh
163   logDoublezh
164   sqrtDoublezh
165   sinDoublezh
166   cosDoublezh
167   tanDoublezh
168   asinDoublezh
169   acosDoublezh
170   atanDoublezh
171   sinhDoublezh
172   coshDoublezh
173   tanhDoublezh
174   ztztzhzh
175   decodeDoublezh
176   encodeDoublezh
177   
178   cmpIntegerzh
179   negateIntegerzh
180   plusIntegerzh
181   minusIntegerzh
182   timesIntegerzh
183   quotRemIntegerzh
184   integer2Intzh
185   integer2Wordzh
186   int2Integerzh
187   word2Integerzh
188   integerToInt64zh
189   integerToWord64zh
190   int64ToIntegerzh
191   word64ToIntegerzh
192   
193   Arrayzh
194   ByteArrayzh
195   MutableArrayzh
196   MutableByteArrayzh
197   
198   sameMutableArrayzh
199   sameMutableByteArrayzh
200   
201   newArrayzh
202   newCharArrayzh
203   newIntArrayzh
204   newWordArrayzh
205   newFloatArrayzh
206   newDoubleArrayzh
207   newAddrArrayzh
208   newStablePtrArrayzh
209   
210   indexArrayzh
211   indexCharArrayzh
212   indexIntArrayzh
213   indexWordArrayzh
214   indexFloatArrayzh
215   indexDoubleArrayzh
216   indexAddrArrayzh
217   indexStablePtrArrayzh
218   indexInt64Arrayzh
219   indexWord64Arrayzh
220   
221 --  indexOffAddrzh
222   indexCharOffAddrzh
223   indexIntOffAddrzh
224   indexWordOffAddrzh
225   indexAddrOffAddrzh
226   indexFloatOffAddrzh
227   indexDoubleOffAddrzh
228   indexStablePtrOffAddrzh
229   indexInt64OffAddrzh
230   indexWord64OffAddrzh
231   
232   writeCharOffAddrzh
233   writeIntOffAddrzh
234   writeWordOffAddrzh
235   writeAddrOffAddrzh
236   writeForeignObjOffAddrzh
237   writeFloatOffAddrzh
238   writeDoubleOffAddrzh
239   writeStablePtrOffAddrzh
240   writeInt64OffAddrzh
241   writeWord64OffAddrzh
242
243 --  indexOffForeignObjzh
244   indexCharOffForeignObjzh
245   indexIntOffForeignObjzh
246   indexWordOffForeignObjzh
247   indexAddrOffForeignObjzh
248   indexFloatOffForeignObjzh
249   indexDoubleOffForeignObjzh
250   indexStablePtrOffForeignObjzh
251   indexInt64OffForeignObjzh
252   indexWord64OffForeignObjzh
253   
254   writeArrayzh
255   writeCharArrayzh
256   writeIntArrayzh
257   writeWordArrayzh
258   writeFloatArrayzh
259   writeDoubleArrayzh
260   writeAddrArrayzh
261   writeStablePtrArrayzh
262   writeInt64Arrayzh
263   writeWord64Arrayzh
264   
265   readArrayzh
266   readCharArrayzh
267   readIntArrayzh
268   readWordArrayzh
269   readFloatArrayzh
270   readDoubleArrayzh
271   readAddrArrayzh
272   readStablePtrArrayzh
273   readInt64Arrayzh
274   readWord64Arrayzh
275
276   unsafeFreezzeArrayzh          -- Note zz in the middle
277   unsafeFreezzeByteArrayzh      -- Ditto
278
279   sizzeofByteArrayzh            -- Ditto
280   sizzeofMutableByteArrayzh     -- Ditto
281
282   MutVarzh
283   newMutVarzh
284   readMutVarzh
285   writeMutVarzh
286   sameMutVarzh
287
288   catchzh
289   raisezh
290
291   Weakzh
292   mkWeakzh
293   deRefWeakzh
294   finalizzeWeakzh
295
296   ForeignObjzh
297   makeForeignObjzh
298   writeForeignObjzh
299
300   StablePtrzh
301   makeStablePtrzh
302   deRefStablePtrzh
303   eqStablePtrzh
304
305   StableNamezh
306   makeStableNamezh
307   eqStableNamezh
308   stableNameToIntzh
309
310   reallyUnsafePtrEqualityzh
311
312   unsafeCoercezh
313 ;
314
315 -- CCallable and CReturnable have kind (Type AnyBox) so that
316 -- things like Int# can be instances of CCallable. 
317 1 class CCallable a :: ? ;
318 1 class CReturnable a :: ? ;
319
320 1 assert :: __forall [a] => PrelBase.Bool -> a -> a ;