@grain/stdlib 0.5.12 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/CHANGELOG.md +200 -0
  2. package/LICENSE +1 -1
  3. package/README.md +25 -2
  4. package/array.gr +1512 -199
  5. package/array.md +2032 -94
  6. package/bigint.gr +239 -140
  7. package/bigint.md +450 -106
  8. package/buffer.gr +595 -102
  9. package/buffer.md +903 -145
  10. package/bytes.gr +401 -110
  11. package/bytes.md +551 -63
  12. package/char.gr +228 -49
  13. package/char.md +373 -7
  14. package/exception.gr +26 -12
  15. package/exception.md +29 -5
  16. package/float32.gr +130 -109
  17. package/float32.md +185 -57
  18. package/float64.gr +112 -99
  19. package/float64.md +185 -57
  20. package/hash.gr +47 -37
  21. package/hash.md +21 -3
  22. package/int16.gr +430 -0
  23. package/int16.md +618 -0
  24. package/int32.gr +200 -269
  25. package/int32.md +254 -289
  26. package/int64.gr +142 -225
  27. package/int64.md +254 -289
  28. package/int8.gr +511 -0
  29. package/int8.md +786 -0
  30. package/json.gr +2084 -0
  31. package/json.md +608 -0
  32. package/list.gr +120 -68
  33. package/list.md +125 -80
  34. package/map.gr +560 -57
  35. package/map.md +672 -56
  36. package/marshal.gr +239 -227
  37. package/marshal.md +36 -4
  38. package/number.gr +626 -676
  39. package/number.md +738 -153
  40. package/option.gr +33 -35
  41. package/option.md +58 -42
  42. package/package.json +2 -2
  43. package/path.gr +148 -187
  44. package/path.md +47 -96
  45. package/pervasives.gr +75 -416
  46. package/pervasives.md +85 -180
  47. package/priorityqueue.gr +433 -74
  48. package/priorityqueue.md +422 -54
  49. package/queue.gr +362 -80
  50. package/queue.md +433 -38
  51. package/random.gr +67 -75
  52. package/random.md +68 -40
  53. package/range.gr +135 -63
  54. package/range.md +198 -43
  55. package/rational.gr +284 -0
  56. package/rational.md +545 -0
  57. package/regex.gr +933 -1066
  58. package/regex.md +59 -60
  59. package/result.gr +23 -25
  60. package/result.md +54 -39
  61. package/runtime/atof/common.gr +78 -82
  62. package/runtime/atof/common.md +22 -10
  63. package/runtime/atof/decimal.gr +102 -127
  64. package/runtime/atof/decimal.md +28 -7
  65. package/runtime/atof/lemire.gr +56 -71
  66. package/runtime/atof/lemire.md +9 -1
  67. package/runtime/atof/parse.gr +83 -110
  68. package/runtime/atof/parse.md +12 -2
  69. package/runtime/atof/slow.gr +28 -35
  70. package/runtime/atof/slow.md +9 -1
  71. package/runtime/atof/table.gr +19 -18
  72. package/runtime/atof/table.md +10 -2
  73. package/runtime/atoi/parse.gr +153 -136
  74. package/runtime/atoi/parse.md +50 -1
  75. package/runtime/bigint.gr +410 -517
  76. package/runtime/bigint.md +71 -57
  77. package/runtime/compare.gr +176 -85
  78. package/runtime/compare.md +31 -1
  79. package/runtime/dataStructures.gr +144 -32
  80. package/runtime/dataStructures.md +267 -31
  81. package/runtime/debugPrint.gr +34 -15
  82. package/runtime/debugPrint.md +37 -5
  83. package/runtime/equal.gr +53 -52
  84. package/runtime/equal.md +30 -1
  85. package/runtime/exception.gr +38 -47
  86. package/runtime/exception.md +10 -8
  87. package/runtime/gc.gr +23 -152
  88. package/runtime/gc.md +13 -17
  89. package/runtime/malloc.gr +31 -31
  90. package/runtime/malloc.md +11 -3
  91. package/runtime/numberUtils.gr +191 -172
  92. package/runtime/numberUtils.md +17 -9
  93. package/runtime/numbers.gr +1695 -1021
  94. package/runtime/numbers.md +1098 -134
  95. package/runtime/string.gr +540 -242
  96. package/runtime/string.md +76 -6
  97. package/runtime/unsafe/constants.gr +30 -13
  98. package/runtime/unsafe/constants.md +80 -0
  99. package/runtime/unsafe/conv.gr +55 -28
  100. package/runtime/unsafe/conv.md +41 -9
  101. package/runtime/unsafe/memory.gr +10 -30
  102. package/runtime/unsafe/memory.md +15 -19
  103. package/runtime/unsafe/tags.gr +37 -21
  104. package/runtime/unsafe/tags.md +88 -8
  105. package/runtime/unsafe/wasmf32.gr +30 -36
  106. package/runtime/unsafe/wasmf32.md +64 -56
  107. package/runtime/unsafe/wasmf64.gr +30 -36
  108. package/runtime/unsafe/wasmf64.md +64 -56
  109. package/runtime/unsafe/wasmi32.gr +49 -66
  110. package/runtime/unsafe/wasmi32.md +102 -94
  111. package/runtime/unsafe/wasmi64.gr +52 -79
  112. package/runtime/unsafe/wasmi64.md +108 -100
  113. package/runtime/utils/printing.gr +13 -15
  114. package/runtime/utils/printing.md +11 -3
  115. package/runtime/wasi.gr +294 -295
  116. package/runtime/wasi.md +62 -42
  117. package/set.gr +574 -64
  118. package/set.md +634 -54
  119. package/stack.gr +181 -64
  120. package/stack.md +271 -42
  121. package/string.gr +453 -533
  122. package/string.md +241 -151
  123. package/uint16.gr +369 -0
  124. package/uint16.md +585 -0
  125. package/uint32.gr +470 -0
  126. package/uint32.md +737 -0
  127. package/uint64.gr +471 -0
  128. package/uint64.md +737 -0
  129. package/uint8.gr +369 -0
  130. package/uint8.md +585 -0
  131. package/uri.gr +1093 -0
  132. package/uri.md +477 -0
  133. package/{sys → wasi}/file.gr +914 -500
  134. package/{sys → wasi}/file.md +454 -50
  135. package/wasi/process.gr +292 -0
  136. package/{sys → wasi}/process.md +164 -6
  137. package/wasi/random.gr +77 -0
  138. package/wasi/random.md +80 -0
  139. package/{sys → wasi}/time.gr +15 -22
  140. package/{sys → wasi}/time.md +5 -5
  141. package/immutablearray.gr +0 -929
  142. package/immutablearray.md +0 -1038
  143. package/immutablemap.gr +0 -493
  144. package/immutablemap.md +0 -479
  145. package/immutablepriorityqueue.gr +0 -360
  146. package/immutablepriorityqueue.md +0 -291
  147. package/immutableset.gr +0 -498
  148. package/immutableset.md +0 -449
  149. package/runtime/debug.gr +0 -2
  150. package/runtime/debug.md +0 -6
  151. package/runtime/unsafe/errors.gr +0 -36
  152. package/runtime/unsafe/errors.md +0 -204
  153. package/sys/process.gr +0 -254
  154. package/sys/random.gr +0 -79
  155. package/sys/random.md +0 -66
package/runtime/bigint.md CHANGED
@@ -1,67 +1,69 @@
1
- ### Bigint.**List**
1
+ ---
2
+ title: Bigint
3
+ ---
2
4
 
3
- ```grain
4
- type List<a>
5
- ```
5
+ ## Values
6
+
7
+ Functions and constants included in the Bigint module.
6
8
 
7
9
  ### Bigint.**debugDumpNumber**
8
10
 
9
11
  ```grain
10
- debugDumpNumber : WasmI32 -> Void
12
+ debugDumpNumber : (num: WasmI32) => Void
11
13
  ```
12
14
 
13
15
  ### Bigint.**getSize**
14
16
 
15
17
  ```grain
16
- getSize : WasmI32 -> WasmI32
18
+ getSize : (ptr: WasmI32) => WasmI32
17
19
  ```
18
20
 
19
21
  ### Bigint.**getFlags**
20
22
 
21
23
  ```grain
22
- getFlags : WasmI32 -> WasmI32
24
+ getFlags : (ptr: WasmI32) => WasmI32
23
25
  ```
24
26
 
25
27
  ### Bigint.**getLimb**
26
28
 
27
29
  ```grain
28
- getLimb : (WasmI32, WasmI32) -> WasmI64
30
+ getLimb : (ptr: WasmI32, i: WasmI32) => WasmI64
29
31
  ```
30
32
 
31
33
  ### Bigint.**makeWrappedInt32**
32
34
 
33
35
  ```grain
34
- makeWrappedInt32 : WasmI32 -> WasmI32
36
+ makeWrappedInt32 : (value: WasmI32) => WasmI32
35
37
  ```
36
38
 
37
39
  ### Bigint.**makeWrappedUint32**
38
40
 
39
41
  ```grain
40
- makeWrappedUint32 : WasmI32 -> WasmI32
42
+ makeWrappedUint32 : (value: WasmI32) => WasmI32
41
43
  ```
42
44
 
43
45
  ### Bigint.**makeWrappedInt64**
44
46
 
45
47
  ```grain
46
- makeWrappedInt64 : WasmI64 -> WasmI32
48
+ makeWrappedInt64 : (value: WasmI64) => WasmI32
47
49
  ```
48
50
 
49
51
  ### Bigint.**makeWrappedUint64**
50
52
 
51
53
  ```grain
52
- makeWrappedUint64 : WasmI64 -> WasmI32
54
+ makeWrappedUint64 : (value: WasmI64) => WasmI32
53
55
  ```
54
56
 
55
57
  ### Bigint.**isNegative**
56
58
 
57
59
  ```grain
58
- isNegative : WasmI32 -> Bool
60
+ isNegative : (num: WasmI32) => Bool
59
61
  ```
60
62
 
61
63
  ### Bigint.**eqz**
62
64
 
63
65
  ```grain
64
- eqz : WasmI32 -> Bool
66
+ eqz : (num: WasmI32) => Bool
65
67
  ```
66
68
 
67
69
  Returns true if the given bigint is equal to zero
@@ -69,258 +71,270 @@ Returns true if the given bigint is equal to zero
69
71
  ### Bigint.**negate**
70
72
 
71
73
  ```grain
72
- negate : WasmI32 -> WasmI32
74
+ negate : (num: WasmI32) => WasmI32
73
75
  ```
74
76
 
75
77
  ### Bigint.**abs**
76
78
 
77
79
  ```grain
78
- abs : WasmI32 -> WasmI32
80
+ abs : (num: WasmI32) => WasmI32
79
81
  ```
80
82
 
81
83
  ### Bigint.**canConvertToInt32**
82
84
 
83
85
  ```grain
84
- canConvertToInt32 : WasmI32 -> Bool
86
+ canConvertToInt32 : (num: WasmI32) => Bool
85
87
  ```
86
88
 
87
89
  ### Bigint.**toInt32**
88
90
 
89
91
  ```grain
90
- toInt32 : WasmI32 -> WasmI32
92
+ toInt32 : (num: WasmI32) => WasmI32
91
93
  ```
92
94
 
93
95
  ### Bigint.**canConvertToInt64**
94
96
 
95
97
  ```grain
96
- canConvertToInt64 : WasmI32 -> Bool
98
+ canConvertToInt64 : (num: WasmI32) => Bool
97
99
  ```
98
100
 
99
101
  ### Bigint.**toInt64**
100
102
 
101
103
  ```grain
102
- toInt64 : WasmI32 -> WasmI64
104
+ toInt64 : (num: WasmI32) => WasmI64
105
+ ```
106
+
107
+ ### Bigint.**toUnsignedInt64**
108
+
109
+ ```grain
110
+ toUnsignedInt64 : (num: WasmI32) => WasmI64
103
111
  ```
104
112
 
105
113
  ### Bigint.**toFloat64**
106
114
 
107
115
  ```grain
108
- toFloat64 : WasmI32 -> WasmF64
116
+ toFloat64 : (num: WasmI32) => WasmF64
109
117
  ```
110
118
 
111
119
  ### Bigint.**toFloat32**
112
120
 
113
121
  ```grain
114
- toFloat32 : WasmI32 -> WasmF32
122
+ toFloat32 : (num: WasmI32) => WasmF32
115
123
  ```
116
124
 
117
125
  ### Bigint.**cmpI64**
118
126
 
119
127
  ```grain
120
- cmpI64 : (WasmI32, WasmI64) -> WasmI32
128
+ cmpI64 : (num1: WasmI32, num2: WasmI64) => WasmI32
129
+ ```
130
+
131
+ ### Bigint.**cmpU64**
132
+
133
+ ```grain
134
+ cmpU64 : (num1: WasmI32, num2: WasmI64) => WasmI32
121
135
  ```
122
136
 
123
137
  ### Bigint.**cmpF64**
124
138
 
125
139
  ```grain
126
- cmpF64 : (WasmI32, WasmF64) -> WasmI32
140
+ cmpF64 : (num1: WasmI32, num2: WasmF64) => WasmI32
127
141
  ```
128
142
 
129
143
  ### Bigint.**cmpF32**
130
144
 
131
145
  ```grain
132
- cmpF32 : (WasmI32, WasmF32) -> WasmI32
146
+ cmpF32 : (num1: WasmI32, num2: WasmF32) => WasmI32
133
147
  ```
134
148
 
135
149
  ### Bigint.**cmp**
136
150
 
137
151
  ```grain
138
- cmp : (WasmI32, WasmI32) -> WasmI32
152
+ cmp : (num1: WasmI32, num2: WasmI32) => WasmI32
139
153
  ```
140
154
 
141
155
  ### Bigint.**eq**
142
156
 
143
157
  ```grain
144
- eq : (WasmI32, WasmI32) -> Bool
158
+ eq : (num1: WasmI32, num2: WasmI32) => Bool
145
159
  ```
146
160
 
147
161
  ### Bigint.**ne**
148
162
 
149
163
  ```grain
150
- ne : (WasmI32, WasmI32) -> Bool
164
+ ne : (num1: WasmI32, num2: WasmI32) => Bool
151
165
  ```
152
166
 
153
167
  ### Bigint.**lt**
154
168
 
155
169
  ```grain
156
- lt : (WasmI32, WasmI32) -> Bool
170
+ lt : (num1: WasmI32, num2: WasmI32) => Bool
157
171
  ```
158
172
 
159
173
  ### Bigint.**lte**
160
174
 
161
175
  ```grain
162
- lte : (WasmI32, WasmI32) -> Bool
176
+ lte : (num1: WasmI32, num2: WasmI32) => Bool
163
177
  ```
164
178
 
165
179
  ### Bigint.**gt**
166
180
 
167
181
  ```grain
168
- gt : (WasmI32, WasmI32) -> Bool
182
+ gt : (num1: WasmI32, num2: WasmI32) => Bool
169
183
  ```
170
184
 
171
185
  ### Bigint.**gte**
172
186
 
173
187
  ```grain
174
- gte : (WasmI32, WasmI32) -> Bool
188
+ gte : (num1: WasmI32, num2: WasmI32) => Bool
175
189
  ```
176
190
 
177
191
  ### Bigint.**bigIntToString**
178
192
 
179
193
  ```grain
180
- bigIntToString : (WasmI32, WasmI32) -> String
194
+ bigIntToString : (num: WasmI32, base: WasmI32) => String
181
195
  ```
182
196
 
183
197
  ### Bigint.**bigIntToString10**
184
198
 
185
199
  ```grain
186
- bigIntToString10 : WasmI32 -> String
200
+ bigIntToString10 : (num: WasmI32) => String
187
201
  ```
188
202
 
189
203
  ### Bigint.**add**
190
204
 
191
205
  ```grain
192
- add : (WasmI32, WasmI32) -> WasmI32
206
+ add : (num1: WasmI32, num2: WasmI32) => WasmI32
193
207
  ```
194
208
 
195
209
  ### Bigint.**addInt**
196
210
 
197
211
  ```grain
198
- addInt : (WasmI32, WasmI64) -> WasmI32
212
+ addInt : (num1: WasmI32, int: WasmI64) => WasmI32
199
213
  ```
200
214
 
201
215
  ### Bigint.**sub**
202
216
 
203
217
  ```grain
204
- sub : (WasmI32, WasmI32) -> WasmI32
218
+ sub : (num1: WasmI32, num2: WasmI32) => WasmI32
205
219
  ```
206
220
 
207
221
  ### Bigint.**subInt**
208
222
 
209
223
  ```grain
210
- subInt : (WasmI32, WasmI64) -> WasmI32
224
+ subInt : (num1: WasmI32, int: WasmI64) => WasmI32
211
225
  ```
212
226
 
213
227
  ### Bigint.**incr**
214
228
 
215
229
  ```grain
216
- incr : WasmI32 -> WasmI32
230
+ incr : (num: WasmI32) => WasmI32
217
231
  ```
218
232
 
219
233
  ### Bigint.**decr**
220
234
 
221
235
  ```grain
222
- decr : WasmI32 -> WasmI32
236
+ decr : (num: WasmI32) => WasmI32
223
237
  ```
224
238
 
225
239
  ### Bigint.**mul**
226
240
 
227
241
  ```grain
228
- mul : (WasmI32, WasmI32) -> WasmI32
242
+ mul : (num1: WasmI32, num2: WasmI32) => WasmI32
229
243
  ```
230
244
 
231
245
  ### Bigint.**shl**
232
246
 
233
247
  ```grain
234
- shl : (WasmI32, WasmI32) -> WasmI32
248
+ shl : (num: WasmI32, places: WasmI32) => WasmI32
235
249
  ```
236
250
 
237
251
  ### Bigint.**shrS**
238
252
 
239
253
  ```grain
240
- shrS : (WasmI32, WasmI32) -> WasmI32
254
+ shrS : (num: WasmI32, places: WasmI32) => WasmI32
241
255
  ```
242
256
 
243
257
  ### Bigint.**bitwiseNot**
244
258
 
245
259
  ```grain
246
- bitwiseNot : WasmI32 -> WasmI32
260
+ bitwiseNot : (num: WasmI32) => WasmI32
247
261
  ```
248
262
 
249
263
  ### Bigint.**bitwiseAnd**
250
264
 
251
265
  ```grain
252
- bitwiseAnd : (WasmI32, WasmI32) -> WasmI32
266
+ bitwiseAnd : (num1: WasmI32, num2: WasmI32) => WasmI32
253
267
  ```
254
268
 
255
269
  ### Bigint.**bitwiseOr**
256
270
 
257
271
  ```grain
258
- bitwiseOr : (WasmI32, WasmI32) -> WasmI32
272
+ bitwiseOr : (num1: WasmI32, num2: WasmI32) => WasmI32
259
273
  ```
260
274
 
261
275
  ### Bigint.**bitwiseXor**
262
276
 
263
277
  ```grain
264
- bitwiseXor : (WasmI32, WasmI32) -> WasmI32
278
+ bitwiseXor : (num1: WasmI32, num2: WasmI32) => WasmI32
265
279
  ```
266
280
 
267
281
  ### Bigint.**countLeadingZeros**
268
282
 
269
283
  ```grain
270
- countLeadingZeros : WasmI32 -> WasmI32
284
+ countLeadingZeros : (num: WasmI32) => WasmI32
271
285
  ```
272
286
 
273
287
  ### Bigint.**countTrailingZeros**
274
288
 
275
289
  ```grain
276
- countTrailingZeros : WasmI32 -> WasmI64
290
+ countTrailingZeros : (num: WasmI32) => WasmI64
277
291
  ```
278
292
 
279
293
  ### Bigint.**popcnt**
280
294
 
281
295
  ```grain
282
- popcnt : (WasmI32, WasmI32) -> WasmI64
296
+ popcnt : (num: WasmI32, flagDest: WasmI32) => WasmI64
283
297
  ```
284
298
 
285
299
  ### Bigint.**gcd**
286
300
 
287
301
  ```grain
288
- gcd : (WasmI32, WasmI32) -> WasmI32
302
+ gcd : (num1: WasmI32, num2: WasmI32) => WasmI32
289
303
  ```
290
304
 
291
305
  ### Bigint.**quotRem**
292
306
 
293
307
  ```grain
294
- quotRem : (WasmI32, WasmI32, WasmI32) -> Void
308
+ quotRem : (num1: WasmI32, num2: WasmI32, dest: WasmI32) => Void
295
309
  ```
296
310
 
297
311
  ### Bigint.**divMod**
298
312
 
299
313
  ```grain
300
- divMod : (WasmI32, WasmI32, WasmI32) -> Void
314
+ divMod : (num1: WasmI32, num2: WasmI32, dest: WasmI32) => Void
301
315
  ```
302
316
 
303
317
  ### Bigint.**quot**
304
318
 
305
319
  ```grain
306
- quot : (WasmI32, WasmI32) -> WasmI32
320
+ quot : (num1: WasmI32, num2: WasmI32) => WasmI32
307
321
  ```
308
322
 
309
323
  ### Bigint.**div**
310
324
 
311
325
  ```grain
312
- div : (WasmI32, WasmI32) -> WasmI32
326
+ div : (num1: WasmI32, num2: WasmI32) => WasmI32
313
327
  ```
314
328
 
315
329
  ### Bigint.**rem**
316
330
 
317
331
  ```grain
318
- rem : (WasmI32, WasmI32) -> WasmI32
332
+ rem : (num1: WasmI32, num2: WasmI32) => WasmI32
319
333
  ```
320
334
 
321
335
  ### Bigint.**mod**
322
336
 
323
337
  ```grain
324
- mod : (WasmI32, WasmI32) -> WasmI32
338
+ mod : (num1: WasmI32, num2: WasmI32) => WasmI32
325
339
  ```
326
340