@grain/stdlib 0.6.6 → 0.7.1

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 (137) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/LICENSE +1 -1
  3. package/README.md +2 -2
  4. package/array.gr +55 -7
  5. package/array.md +606 -560
  6. package/bigint.md +228 -228
  7. package/buffer.gr +85 -53
  8. package/buffer.md +442 -319
  9. package/bytes.gr +112 -35
  10. package/bytes.md +299 -219
  11. package/char.gr +201 -99
  12. package/char.md +447 -120
  13. package/exception.gr +11 -11
  14. package/exception.md +29 -4
  15. package/float32.gr +327 -3
  16. package/float32.md +698 -111
  17. package/float64.gr +320 -3
  18. package/float64.md +698 -111
  19. package/fs.gr +1082 -0
  20. package/fs.md +630 -0
  21. package/hash.gr +142 -88
  22. package/hash.md +105 -17
  23. package/int16.md +178 -178
  24. package/int32.gr +26 -5
  25. package/int32.md +266 -231
  26. package/int64.gr +27 -2
  27. package/int64.md +266 -231
  28. package/int8.md +178 -178
  29. package/json.gr +366 -51
  30. package/json.md +431 -15
  31. package/list.gr +328 -31
  32. package/list.md +759 -336
  33. package/map.gr +20 -12
  34. package/map.md +266 -260
  35. package/marshal.gr +41 -40
  36. package/marshal.md +14 -14
  37. package/number.gr +278 -35
  38. package/number.md +688 -269
  39. package/option.md +162 -162
  40. package/package.json +5 -3
  41. package/path.gr +48 -0
  42. package/path.md +180 -89
  43. package/pervasives.gr +2 -2
  44. package/pervasives.md +275 -275
  45. package/priorityqueue.gr +7 -7
  46. package/priorityqueue.md +131 -131
  47. package/queue.gr +183 -29
  48. package/queue.md +404 -148
  49. package/random.md +43 -43
  50. package/range.gr +4 -4
  51. package/range.md +42 -42
  52. package/rational.md +123 -123
  53. package/regex.gr +52 -51
  54. package/regex.md +102 -102
  55. package/result.md +118 -118
  56. package/runtime/atof/common.md +39 -39
  57. package/runtime/atof/decimal.gr +6 -6
  58. package/runtime/atof/decimal.md +14 -14
  59. package/runtime/atof/lemire.gr +5 -5
  60. package/runtime/atof/lemire.md +1 -1
  61. package/runtime/atof/parse.gr +16 -16
  62. package/runtime/atof/parse.md +2 -2
  63. package/runtime/atof/slow.md +1 -1
  64. package/runtime/atof/table.md +2 -2
  65. package/runtime/atoi/parse.gr +3 -3
  66. package/runtime/atoi/parse.md +1 -1
  67. package/runtime/bigint.gr +15 -47
  68. package/runtime/bigint.md +54 -60
  69. package/runtime/compare.gr +2 -2
  70. package/runtime/compare.md +8 -8
  71. package/runtime/dataStructures.md +211 -211
  72. package/runtime/debugPrint.gr +4 -1
  73. package/runtime/debugPrint.md +9 -9
  74. package/runtime/equal.gr +99 -77
  75. package/runtime/equal.md +8 -8
  76. package/runtime/exception.gr +62 -82
  77. package/runtime/exception.md +62 -11
  78. package/runtime/gc.gr +39 -45
  79. package/runtime/gc.md +4 -4
  80. package/runtime/malloc.gr +7 -7
  81. package/runtime/malloc.md +13 -13
  82. package/runtime/math/kernel/cos.gr +70 -0
  83. package/runtime/math/kernel/cos.md +14 -0
  84. package/runtime/math/kernel/sin.gr +65 -0
  85. package/runtime/math/kernel/sin.md +14 -0
  86. package/runtime/math/kernel/tan.gr +136 -0
  87. package/runtime/math/kernel/tan.md +14 -0
  88. package/runtime/math/rempio2.gr +244 -0
  89. package/runtime/math/rempio2.md +14 -0
  90. package/runtime/math/trig.gr +130 -0
  91. package/runtime/math/trig.md +28 -0
  92. package/runtime/math/umuldi.gr +26 -0
  93. package/runtime/math/umuldi.md +14 -0
  94. package/runtime/numberUtils.gr +29 -29
  95. package/runtime/numberUtils.md +12 -12
  96. package/runtime/numbers.gr +373 -381
  97. package/runtime/numbers.md +348 -342
  98. package/runtime/string.gr +37 -105
  99. package/runtime/string.md +20 -26
  100. package/runtime/unsafe/constants.md +24 -24
  101. package/runtime/unsafe/conv.md +19 -19
  102. package/runtime/unsafe/memory.gr +24 -20
  103. package/runtime/unsafe/memory.md +27 -7
  104. package/runtime/unsafe/offsets.gr +36 -0
  105. package/runtime/unsafe/offsets.md +88 -0
  106. package/runtime/unsafe/panic.gr +28 -0
  107. package/runtime/unsafe/panic.md +14 -0
  108. package/runtime/unsafe/tags.md +32 -32
  109. package/runtime/unsafe/wasmf32.md +28 -28
  110. package/runtime/unsafe/wasmf64.md +28 -28
  111. package/runtime/unsafe/wasmi32.md +47 -47
  112. package/runtime/unsafe/wasmi64.md +50 -50
  113. package/runtime/utf8.gr +189 -0
  114. package/runtime/utf8.md +117 -0
  115. package/runtime/wasi.gr +4 -2
  116. package/runtime/wasi.md +147 -147
  117. package/set.gr +18 -11
  118. package/set.md +253 -247
  119. package/stack.gr +171 -2
  120. package/stack.md +371 -89
  121. package/string.gr +352 -557
  122. package/string.md +298 -255
  123. package/uint16.md +170 -170
  124. package/uint32.gr +25 -4
  125. package/uint32.md +249 -214
  126. package/uint64.gr +25 -5
  127. package/uint64.md +249 -214
  128. package/uint8.md +170 -170
  129. package/uri.gr +57 -53
  130. package/uri.md +88 -89
  131. package/wasi/file.gr +67 -59
  132. package/wasi/file.md +308 -308
  133. package/wasi/process.md +26 -26
  134. package/wasi/random.md +12 -12
  135. package/wasi/time.md +16 -16
  136. package/runtime/utils/printing.gr +0 -60
  137. package/runtime/utils/printing.md +0 -26
package/runtime/bigint.md CHANGED
@@ -6,64 +6,58 @@ title: Bigint
6
6
 
7
7
  Functions and constants included in the Bigint module.
8
8
 
9
- ### Bigint.**debugDumpNumber**
10
-
11
- ```grain
12
- debugDumpNumber : (num: WasmI32) => Void
13
- ```
14
-
15
9
  ### Bigint.**getSize**
16
10
 
17
11
  ```grain
18
- getSize : (ptr: WasmI32) => WasmI32
12
+ getSize: (ptr: WasmI32) => WasmI32
19
13
  ```
20
14
 
21
15
  ### Bigint.**getFlags**
22
16
 
23
17
  ```grain
24
- getFlags : (ptr: WasmI32) => WasmI32
18
+ getFlags: (ptr: WasmI32) => WasmI32
25
19
  ```
26
20
 
27
21
  ### Bigint.**getLimb**
28
22
 
29
23
  ```grain
30
- getLimb : (ptr: WasmI32, i: WasmI32) => WasmI64
24
+ getLimb: (ptr: WasmI32, i: WasmI32) => WasmI64
31
25
  ```
32
26
 
33
27
  ### Bigint.**makeWrappedInt32**
34
28
 
35
29
  ```grain
36
- makeWrappedInt32 : (value: WasmI32) => WasmI32
30
+ makeWrappedInt32: (value: WasmI32) => WasmI32
37
31
  ```
38
32
 
39
33
  ### Bigint.**makeWrappedUint32**
40
34
 
41
35
  ```grain
42
- makeWrappedUint32 : (value: WasmI32) => WasmI32
36
+ makeWrappedUint32: (value: WasmI32) => WasmI32
43
37
  ```
44
38
 
45
39
  ### Bigint.**makeWrappedInt64**
46
40
 
47
41
  ```grain
48
- makeWrappedInt64 : (value: WasmI64) => WasmI32
42
+ makeWrappedInt64: (value: WasmI64) => WasmI32
49
43
  ```
50
44
 
51
45
  ### Bigint.**makeWrappedUint64**
52
46
 
53
47
  ```grain
54
- makeWrappedUint64 : (value: WasmI64) => WasmI32
48
+ makeWrappedUint64: (value: WasmI64) => WasmI32
55
49
  ```
56
50
 
57
51
  ### Bigint.**isNegative**
58
52
 
59
53
  ```grain
60
- isNegative : (num: WasmI32) => Bool
54
+ isNegative: (num: WasmI32) => Bool
61
55
  ```
62
56
 
63
57
  ### Bigint.**eqz**
64
58
 
65
59
  ```grain
66
- eqz : (num: WasmI32) => Bool
60
+ eqz: (num: WasmI32) => Bool
67
61
  ```
68
62
 
69
63
  Returns true if the given bigint is equal to zero
@@ -71,270 +65,270 @@ Returns true if the given bigint is equal to zero
71
65
  ### Bigint.**negate**
72
66
 
73
67
  ```grain
74
- negate : (num: WasmI32) => WasmI32
68
+ negate: (num: WasmI32) => WasmI32
75
69
  ```
76
70
 
77
71
  ### Bigint.**abs**
78
72
 
79
73
  ```grain
80
- abs : (num: WasmI32) => WasmI32
74
+ abs: (num: WasmI32) => WasmI32
81
75
  ```
82
76
 
83
77
  ### Bigint.**canConvertToInt32**
84
78
 
85
79
  ```grain
86
- canConvertToInt32 : (num: WasmI32) => Bool
80
+ canConvertToInt32: (num: WasmI32) => Bool
87
81
  ```
88
82
 
89
83
  ### Bigint.**toInt32**
90
84
 
91
85
  ```grain
92
- toInt32 : (num: WasmI32) => WasmI32
86
+ toInt32: (num: WasmI32) => WasmI32
93
87
  ```
94
88
 
95
89
  ### Bigint.**canConvertToInt64**
96
90
 
97
91
  ```grain
98
- canConvertToInt64 : (num: WasmI32) => Bool
92
+ canConvertToInt64: (num: WasmI32) => Bool
99
93
  ```
100
94
 
101
95
  ### Bigint.**toInt64**
102
96
 
103
97
  ```grain
104
- toInt64 : (num: WasmI32) => WasmI64
98
+ toInt64: (num: WasmI32) => WasmI64
105
99
  ```
106
100
 
107
101
  ### Bigint.**toUnsignedInt64**
108
102
 
109
103
  ```grain
110
- toUnsignedInt64 : (num: WasmI32) => WasmI64
104
+ toUnsignedInt64: (num: WasmI32) => WasmI64
111
105
  ```
112
106
 
113
107
  ### Bigint.**toFloat64**
114
108
 
115
109
  ```grain
116
- toFloat64 : (num: WasmI32) => WasmF64
110
+ toFloat64: (num: WasmI32) => WasmF64
117
111
  ```
118
112
 
119
113
  ### Bigint.**toFloat32**
120
114
 
121
115
  ```grain
122
- toFloat32 : (num: WasmI32) => WasmF32
116
+ toFloat32: (num: WasmI32) => WasmF32
123
117
  ```
124
118
 
125
119
  ### Bigint.**cmpI64**
126
120
 
127
121
  ```grain
128
- cmpI64 : (num1: WasmI32, num2: WasmI64) => WasmI32
122
+ cmpI64: (num1: WasmI32, num2: WasmI64) => WasmI32
129
123
  ```
130
124
 
131
125
  ### Bigint.**cmpU64**
132
126
 
133
127
  ```grain
134
- cmpU64 : (num1: WasmI32, num2: WasmI64) => WasmI32
128
+ cmpU64: (num1: WasmI32, num2: WasmI64) => WasmI32
135
129
  ```
136
130
 
137
131
  ### Bigint.**cmpF64**
138
132
 
139
133
  ```grain
140
- cmpF64 : (num1: WasmI32, num2: WasmF64) => WasmI32
134
+ cmpF64: (num1: WasmI32, num2: WasmF64) => WasmI32
141
135
  ```
142
136
 
143
137
  ### Bigint.**cmpF32**
144
138
 
145
139
  ```grain
146
- cmpF32 : (num1: WasmI32, num2: WasmF32) => WasmI32
140
+ cmpF32: (num1: WasmI32, num2: WasmF32) => WasmI32
147
141
  ```
148
142
 
149
143
  ### Bigint.**cmp**
150
144
 
151
145
  ```grain
152
- cmp : (num1: WasmI32, num2: WasmI32) => WasmI32
146
+ cmp: (num1: WasmI32, num2: WasmI32) => WasmI32
153
147
  ```
154
148
 
155
149
  ### Bigint.**eq**
156
150
 
157
151
  ```grain
158
- eq : (num1: WasmI32, num2: WasmI32) => Bool
152
+ eq: (num1: WasmI32, num2: WasmI32) => Bool
159
153
  ```
160
154
 
161
155
  ### Bigint.**ne**
162
156
 
163
157
  ```grain
164
- ne : (num1: WasmI32, num2: WasmI32) => Bool
158
+ ne: (num1: WasmI32, num2: WasmI32) => Bool
165
159
  ```
166
160
 
167
161
  ### Bigint.**lt**
168
162
 
169
163
  ```grain
170
- lt : (num1: WasmI32, num2: WasmI32) => Bool
164
+ lt: (num1: WasmI32, num2: WasmI32) => Bool
171
165
  ```
172
166
 
173
167
  ### Bigint.**lte**
174
168
 
175
169
  ```grain
176
- lte : (num1: WasmI32, num2: WasmI32) => Bool
170
+ lte: (num1: WasmI32, num2: WasmI32) => Bool
177
171
  ```
178
172
 
179
173
  ### Bigint.**gt**
180
174
 
181
175
  ```grain
182
- gt : (num1: WasmI32, num2: WasmI32) => Bool
176
+ gt: (num1: WasmI32, num2: WasmI32) => Bool
183
177
  ```
184
178
 
185
179
  ### Bigint.**gte**
186
180
 
187
181
  ```grain
188
- gte : (num1: WasmI32, num2: WasmI32) => Bool
182
+ gte: (num1: WasmI32, num2: WasmI32) => Bool
189
183
  ```
190
184
 
191
185
  ### Bigint.**bigIntToString**
192
186
 
193
187
  ```grain
194
- bigIntToString : (num: WasmI32, base: WasmI32) => String
188
+ bigIntToString: (num: WasmI32, base: WasmI32) => String
195
189
  ```
196
190
 
197
191
  ### Bigint.**bigIntToString10**
198
192
 
199
193
  ```grain
200
- bigIntToString10 : (num: WasmI32) => String
194
+ bigIntToString10: (num: WasmI32) => String
201
195
  ```
202
196
 
203
197
  ### Bigint.**add**
204
198
 
205
199
  ```grain
206
- add : (num1: WasmI32, num2: WasmI32) => WasmI32
200
+ add: (num1: WasmI32, num2: WasmI32) => WasmI32
207
201
  ```
208
202
 
209
203
  ### Bigint.**addInt**
210
204
 
211
205
  ```grain
212
- addInt : (num1: WasmI32, int: WasmI64) => WasmI32
206
+ addInt: (num1: WasmI32, int: WasmI64) => WasmI32
213
207
  ```
214
208
 
215
209
  ### Bigint.**sub**
216
210
 
217
211
  ```grain
218
- sub : (num1: WasmI32, num2: WasmI32) => WasmI32
212
+ sub: (num1: WasmI32, num2: WasmI32) => WasmI32
219
213
  ```
220
214
 
221
215
  ### Bigint.**subInt**
222
216
 
223
217
  ```grain
224
- subInt : (num1: WasmI32, int: WasmI64) => WasmI32
218
+ subInt: (num1: WasmI32, int: WasmI64) => WasmI32
225
219
  ```
226
220
 
227
221
  ### Bigint.**incr**
228
222
 
229
223
  ```grain
230
- incr : (num: WasmI32) => WasmI32
224
+ incr: (num: WasmI32) => WasmI32
231
225
  ```
232
226
 
233
227
  ### Bigint.**decr**
234
228
 
235
229
  ```grain
236
- decr : (num: WasmI32) => WasmI32
230
+ decr: (num: WasmI32) => WasmI32
237
231
  ```
238
232
 
239
233
  ### Bigint.**mul**
240
234
 
241
235
  ```grain
242
- mul : (num1: WasmI32, num2: WasmI32) => WasmI32
236
+ mul: (num1: WasmI32, num2: WasmI32) => WasmI32
243
237
  ```
244
238
 
245
239
  ### Bigint.**shl**
246
240
 
247
241
  ```grain
248
- shl : (num: WasmI32, places: WasmI32) => WasmI32
242
+ shl: (num: WasmI32, places: WasmI32) => WasmI32
249
243
  ```
250
244
 
251
245
  ### Bigint.**shrS**
252
246
 
253
247
  ```grain
254
- shrS : (num: WasmI32, places: WasmI32) => WasmI32
248
+ shrS: (num: WasmI32, places: WasmI32) => WasmI32
255
249
  ```
256
250
 
257
251
  ### Bigint.**bitwiseNot**
258
252
 
259
253
  ```grain
260
- bitwiseNot : (num: WasmI32) => WasmI32
254
+ bitwiseNot: (num: WasmI32) => WasmI32
261
255
  ```
262
256
 
263
257
  ### Bigint.**bitwiseAnd**
264
258
 
265
259
  ```grain
266
- bitwiseAnd : (num1: WasmI32, num2: WasmI32) => WasmI32
260
+ bitwiseAnd: (num1: WasmI32, num2: WasmI32) => WasmI32
267
261
  ```
268
262
 
269
263
  ### Bigint.**bitwiseOr**
270
264
 
271
265
  ```grain
272
- bitwiseOr : (num1: WasmI32, num2: WasmI32) => WasmI32
266
+ bitwiseOr: (num1: WasmI32, num2: WasmI32) => WasmI32
273
267
  ```
274
268
 
275
269
  ### Bigint.**bitwiseXor**
276
270
 
277
271
  ```grain
278
- bitwiseXor : (num1: WasmI32, num2: WasmI32) => WasmI32
272
+ bitwiseXor: (num1: WasmI32, num2: WasmI32) => WasmI32
279
273
  ```
280
274
 
281
275
  ### Bigint.**countLeadingZeros**
282
276
 
283
277
  ```grain
284
- countLeadingZeros : (num: WasmI32) => WasmI32
278
+ countLeadingZeros: (num: WasmI32) => WasmI32
285
279
  ```
286
280
 
287
281
  ### Bigint.**countTrailingZeros**
288
282
 
289
283
  ```grain
290
- countTrailingZeros : (num: WasmI32) => WasmI64
284
+ countTrailingZeros: (num: WasmI32) => WasmI64
291
285
  ```
292
286
 
293
287
  ### Bigint.**popcnt**
294
288
 
295
289
  ```grain
296
- popcnt : (num: WasmI32, flagDest: WasmI32) => WasmI64
290
+ popcnt: (num: WasmI32, flagDest: WasmI32) => WasmI64
297
291
  ```
298
292
 
299
293
  ### Bigint.**gcd**
300
294
 
301
295
  ```grain
302
- gcd : (num1: WasmI32, num2: WasmI32) => WasmI32
296
+ gcd: (num1: WasmI32, num2: WasmI32) => WasmI32
303
297
  ```
304
298
 
305
299
  ### Bigint.**quotRem**
306
300
 
307
301
  ```grain
308
- quotRem : (num1: WasmI32, num2: WasmI32, dest: WasmI32) => Void
302
+ quotRem: (num1: WasmI32, num2: WasmI32, dest: WasmI32) => Void
309
303
  ```
310
304
 
311
305
  ### Bigint.**divMod**
312
306
 
313
307
  ```grain
314
- divMod : (num1: WasmI32, num2: WasmI32, dest: WasmI32) => Void
308
+ divMod: (num1: WasmI32, num2: WasmI32, dest: WasmI32) => Void
315
309
  ```
316
310
 
317
311
  ### Bigint.**quot**
318
312
 
319
313
  ```grain
320
- quot : (num1: WasmI32, num2: WasmI32) => WasmI32
314
+ quot: (num1: WasmI32, num2: WasmI32) => WasmI32
321
315
  ```
322
316
 
323
317
  ### Bigint.**div**
324
318
 
325
319
  ```grain
326
- div : (num1: WasmI32, num2: WasmI32) => WasmI32
320
+ div: (num1: WasmI32, num2: WasmI32) => WasmI32
327
321
  ```
328
322
 
329
323
  ### Bigint.**rem**
330
324
 
331
325
  ```grain
332
- rem : (num1: WasmI32, num2: WasmI32) => WasmI32
326
+ rem: (num1: WasmI32, num2: WasmI32) => WasmI32
333
327
  ```
334
328
 
335
329
  ### Bigint.**mod**
336
330
 
337
331
  ```grain
338
- mod : (num1: WasmI32, num2: WasmI32) => WasmI32
332
+ mod: (num1: WasmI32, num2: WasmI32) => WasmI32
339
333
  ```
340
334
 
@@ -188,8 +188,8 @@ and compareHelp = (x, y) => {
188
188
  } else if (xtag == Tags._GRAIN_SHORTVAL_TAG_TYPE) {
189
189
  let shortValTag = x & Tags._GRAIN_GENERIC_SHORTVAL_TAG_MASK
190
190
  if (
191
- shortValTag == Tags._GRAIN_INT8_TAG_MASK ||
192
- shortValTag == Tags._GRAIN_INT16_TAG_MASK
191
+ shortValTag == Tags._GRAIN_INT8_TAG_MASK
192
+ || shortValTag == Tags._GRAIN_INT16_TAG_MASK
193
193
  ) {
194
194
  if (x < y) {
195
195
  -1
@@ -14,7 +14,7 @@ No other changes yet.
14
14
  </details>
15
15
 
16
16
  ```grain
17
- compare : (num1: a, num2: a) => Number
17
+ compare: (num1: a, num2: a) => Number
18
18
  ```
19
19
 
20
20
  Compares the first argument to the second argument and produces an integer result.
@@ -23,14 +23,14 @@ Provides a consistent ordering over all types and is suitable for sorting and ot
23
23
 
24
24
  Parameters:
25
25
 
26
- |param|type|description|
27
- |-----|----|-----------|
28
- |`num1`|`a`|The first operand|
29
- |`num2`|`a`|The second operand|
26
+ | param | type | description |
27
+ | ------ | ---- | ------------------ |
28
+ | `num1` | `a` | The first operand |
29
+ | `num2` | `a` | The second operand |
30
30
 
31
31
  Returns:
32
32
 
33
- |type|description|
34
- |----|-----------|
35
- |`Number`|A negative integer if the first operand is less than the second operand, `0` if they are equal, or a positive integer otherwise|
33
+ | type | description |
34
+ | -------- | ------------------------------------------------------------------------------------------------------------------------------- |
35
+ | `Number` | A negative integer if the first operand is less than the second operand, `0` if they are equal, or a positive integer otherwise |
36
36