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