a3bedc7d9592c11e217bf961d5424c413335c2f6
[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
9 _exports_
10 PrelGHC
11   ->
12
13   All   -- Pseudo class used for universal quantification
14   CCallable
15   CReturnable
16
17   Void
18 -- void CAF is defined in PrelBase
19
20 -- Magical assert thingy
21   assert
22
23 -- I/O primitives
24   RealWorld
25   realWorld#
26   State#
27
28   fork#
29   delay# 
30   seq#
31   par#
32   parGlobal#
33   parLocal#
34   parAt#
35   parAtAbs#
36   parAtRel#
37   parAtForNow#
38
39   SynchVar#
40   sameMVar#
41   newSynchVar#
42   takeMVar#
43   putMVar#
44   waitRead#
45   waitWrite#
46   
47   errorIO#
48   
49   Char# 
50   gtChar#
51   geChar#
52   eqChar#
53   neChar#
54   ltChar#
55   leChar#
56   ord#
57   chr#
58   
59   Int#
60   >#
61   >=#
62   ==#
63   /=#
64   <#
65   <=#
66   +#
67   -#
68   *#
69   /#
70   quotInt#
71   remInt#
72   negateInt#
73   iShiftL#
74   iShiftRA#
75   iShiftRL#
76   
77   Word#
78   gtWord#
79   geWord#
80   eqWord#
81   neWord#
82   ltWord#
83   leWord#
84   quotWord#
85   remWord#
86   and#
87   or#
88   not#
89   xor#
90   shiftL#
91   shiftRA#
92   shiftRL#
93   int2Word#
94   word2Int#
95   
96   Word64#
97
98   Int64#
99
100   Addr#
101   gtAddr#
102   geAddr#
103   eqAddr#
104   neAddr#
105   ltAddr#
106   leAddr#
107   int2Addr#
108   addr2Int#
109   
110   Float#
111   gtFloat#
112   geFloat#
113   eqFloat#
114   neFloat#
115   ltFloat#
116   leFloat#
117   plusFloat#
118   minusFloat#
119   timesFloat#
120   divideFloat#
121   negateFloat#
122   float2Int#
123   int2Float#
124   expFloat#
125   logFloat#
126   sqrtFloat#
127   sinFloat#
128   cosFloat#
129   tanFloat#
130   asinFloat#
131   acosFloat#
132   atanFloat#
133   sinhFloat#
134   coshFloat#
135   tanhFloat#
136   powerFloat#
137   decodeFloat#
138   encodeFloat#
139   
140   Double#
141   >##
142   >=##
143   ==##
144   /=##
145   <##
146   <=##
147   +##
148   -##
149   *##
150   /##
151   negateDouble#
152   double2Int#
153   int2Double#
154   double2Float#
155   float2Double#
156   expDouble#
157   logDouble#
158   sqrtDouble#
159   sinDouble#
160   cosDouble#
161   tanDouble#
162   asinDouble#
163   acosDouble#
164   atanDouble#
165   sinhDouble#
166   coshDouble#
167   tanhDouble#
168   **##
169   decodeDouble#
170   encodeDouble#
171   
172   cmpInteger#
173   negateInteger#
174   plusInteger#
175   minusInteger#
176   timesInteger#
177   quotRemInteger#
178   integer2Int#
179   integer2Word#
180   int2Integer#
181   word2Integer#
182   integerToInt64#
183   integerToWord64#
184   int64ToInteger#
185   word64ToInteger#
186   
187   Array#
188   ByteArray#
189   MutableArray#
190   MutableByteArray#
191   
192   sameMutableArray#
193   sameMutableByteArray#
194   
195   newArray#
196   newCharArray#
197   newIntArray#
198   newWordArray#
199   newFloatArray#
200   newDoubleArray#
201   newAddrArray#
202   newStablePtrArray#
203   
204   indexArray#
205   indexCharArray#
206   indexIntArray#
207   indexWordArray#
208   indexFloatArray#
209   indexDoubleArray#
210   indexAddrArray#
211   indexStablePtrArray#
212   indexInt64Array#
213   indexWord64Array#
214   
215 --  indexOffAddr#
216 indexCharOffAddr#
217 indexIntOffAddr#
218 indexWordOffAddr#
219 indexAddrOffAddr#
220 indexFloatOffAddr#
221 indexDoubleOffAddr#
222 indexStablePtrOffAddr#
223 indexInt64OffAddr#
224 indexWord64OffAddr#
225
226 writeCharOffAddr#
227 writeIntOffAddr#
228 writeWordOffAddr#
229 writeAddrOffAddr#
230 writeForeignObjOffAddr#
231 writeFloatOffAddr#
232 writeDoubleOffAddr#
233 writeStablePtrOffAddr#
234 writeInt64OffAddr#
235 writeWord64OffAddr#
236
237 --  indexOffForeignObj#
238 indexCharOffForeignObj#
239 indexIntOffForeignObj#
240 indexWordOffForeignObj#
241 indexAddrOffForeignObj#
242 indexFloatOffForeignObj#
243 indexDoubleOffForeignObj#
244 indexStablePtrOffForeignObj#
245 indexInt64OffForeignObj#
246 indexWord64OffForeignObj#
247   
248   writeArray#
249   writeCharArray#
250   writeIntArray#
251   writeWordArray#
252   writeFloatArray#
253   writeDoubleArray#
254   writeAddrArray#
255   writeStablePtrArray#
256   writeInt64Array#
257   writeWord64Array#
258   
259   readArray#
260   readCharArray#
261   readIntArray#
262   readWordArray#
263   readFloatArray#
264   readDoubleArray#
265   readAddrArray#
266   readStablePtrArray#
267   readInt64Array#
268   readWord64Array#
269   
270   unsafeFreezeArray#
271   unsafeFreezeByteArray#
272   
273   sizeofByteArray#
274   sizeofMutableByteArray#
275
276   ForeignObj#
277   makeForeignObj#
278   writeForeignObj#
279   
280   StablePtr#
281   makeStablePtr#
282   deRefStablePtr#
283   reallyUnsafePtrEquality#
284
285   unsafeCoerce#
286 ;
287
288 _declarations_
289
290 1 class CCallable a :: ** ;
291 1 class CReturnable a :: ** ;
292 1 assert _:_ _forall_ [a] => PrelBase.Bool -> a -> a ;;