firefly-compiler 0.5.9 → 0.5.10
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.
- package/compiler/JsEmitter.ff +88 -0
- package/output/js/ff/compiler/Builder.mjs +22 -16
- package/output/js/ff/compiler/Compiler.mjs +2 -2
- package/output/js/ff/compiler/Inference.mjs +32 -22
- package/output/js/ff/compiler/JsEmitter.mjs +274 -0
- package/output/js/ff/compiler/LspHook.mjs +2 -2
- package/output/js/ff/compiler/Parser.mjs +84 -82
- package/output/js/ff/compiler/Resolver.mjs +38 -28
- package/output/js/ff/compiler/Tokenizer.mjs +10 -10
- package/output/js/ff/compiler/Unification.mjs +10 -8
- package/output/js/ff/core/Array.mjs +8 -8
- package/output/js/ff/core/Int.mjs +4 -4
- package/output/js/ff/core/IntMap.mjs +8 -8
- package/output/js/ff/core/Json.mjs +12 -10
- package/output/js/ff/core/List.mjs +130 -104
- package/output/js/ff/core/Map.mjs +8 -6
- package/output/js/ff/core/Random.mjs +18 -12
- package/output/js/ff/core/RbMap.mjs +2 -2
- package/output/js/ff/core/Serializable.mjs +6 -4
- package/output/js/ff/core/Set.mjs +6 -4
- package/output/js/ff/core/Stream.mjs +8 -8
- package/output/js/ff/core/StringMap.mjs +8 -8
- package/output/js/ff/core/Task.mjs +6 -4
- package/package.json +1 -1
- package/vscode/package.json +1 -1
|
@@ -114,9 +114,10 @@ return ff_core_Map.Map_addAll(self_, that_, ff_core_Ordering_Order$T)
|
|
|
114
114
|
|
|
115
115
|
export function Set_addList(self_, that_, ff_core_Ordering_Order$T) {
|
|
116
116
|
let result_ = self_;
|
|
117
|
-
|
|
117
|
+
for(let for_i = 0, for_a = that_, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
118
|
+
const k_ = for_a[for_i];
|
|
118
119
|
result_ = ff_core_Map.Map_add(result_, k_, (void 0), ff_core_Ordering_Order$T)
|
|
119
|
-
}
|
|
120
|
+
};
|
|
120
121
|
return result_
|
|
121
122
|
}
|
|
122
123
|
|
|
@@ -178,9 +179,10 @@ return ff_core_Map.Map_addAll(self_, that_, ff_core_Ordering_Order$T)
|
|
|
178
179
|
|
|
179
180
|
export async function Set_addList$(self_, that_, ff_core_Ordering_Order$T, $task) {
|
|
180
181
|
let result_ = self_;
|
|
181
|
-
|
|
182
|
+
for(let for_i = 0, for_a = that_, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
183
|
+
const k_ = for_a[for_i];
|
|
182
184
|
result_ = ff_core_Map.Map_add(result_, k_, (void 0), ff_core_Ordering_Order$T)
|
|
183
|
-
}
|
|
185
|
+
};
|
|
184
186
|
return result_
|
|
185
187
|
}
|
|
186
188
|
|
|
@@ -601,7 +601,7 @@ return result_
|
|
|
601
601
|
export function Stream_toArray(self_) {
|
|
602
602
|
const array_ = ff_core_Array.new_();
|
|
603
603
|
ff_core_Stream.Stream_each(self_, ((_w1) => {
|
|
604
|
-
|
|
604
|
+
array_.array.push(_w1)
|
|
605
605
|
}));
|
|
606
606
|
return array_
|
|
607
607
|
}
|
|
@@ -1058,7 +1058,7 @@ return result_
|
|
|
1058
1058
|
export async function Stream_toArray$(self_, $task) {
|
|
1059
1059
|
const array_ = ff_core_Array.new_();
|
|
1060
1060
|
(await ff_core_Stream.Stream_each$(self_, (async (_w1, $task) => {
|
|
1061
|
-
|
|
1061
|
+
array_.array.push(_w1)
|
|
1062
1062
|
}), $task));
|
|
1063
1063
|
return array_
|
|
1064
1064
|
}
|
|
@@ -1098,7 +1098,7 @@ return ff_core_List.List_toMap((await ff_core_Stream.Stream_toList$(self_, $task
|
|
|
1098
1098
|
export function Stream_toBuffer(self_) {
|
|
1099
1099
|
const builder_ = ff_core_Array.new_();
|
|
1100
1100
|
ff_core_Stream.Stream_each(self_, ((_w1) => {
|
|
1101
|
-
|
|
1101
|
+
builder_.array.push(_w1)
|
|
1102
1102
|
}));
|
|
1103
1103
|
return ff_core_Buffer.fromBufferList_(ff_core_Array.Array_drain(builder_))
|
|
1104
1104
|
}
|
|
@@ -1118,11 +1118,11 @@ let remainder_ = ff_core_Option.None();
|
|
|
1118
1118
|
while(ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Buffer.ff_core_Equal_Equal$ff_core_Buffer_Buffer).equals_(remainder_, ff_core_Option.None())) {
|
|
1119
1119
|
const needed_ = (bytes_ - taken_);
|
|
1120
1120
|
if((needed_ > ff_core_Buffer.Buffer_size(buffer_))) {
|
|
1121
|
-
|
|
1121
|
+
buffers_.array.push(buffer_);
|
|
1122
1122
|
taken_ += ff_core_Buffer.Buffer_size(buffer_);
|
|
1123
1123
|
buffer_ = ff_core_Option.Option_grab(self_.next_())
|
|
1124
1124
|
} else {
|
|
1125
|
-
|
|
1125
|
+
buffers_.array.push(ff_core_Buffer.Buffer_view(buffer_, 0, needed_));
|
|
1126
1126
|
remainder_ = ff_core_Option.Some(ff_core_Buffer.Buffer_view(buffer_, needed_, ff_core_Buffer.Buffer_size(buffer_)))
|
|
1127
1127
|
}
|
|
1128
1128
|
};
|
|
@@ -1133,7 +1133,7 @@ return ff_core_Pair.Pair(ff_core_Array.Array_drain(buffers_), ff_core_Stream.Str
|
|
|
1133
1133
|
export async function Stream_toBuffer$(self_, $task) {
|
|
1134
1134
|
const builder_ = ff_core_Array.new_();
|
|
1135
1135
|
(await ff_core_Stream.Stream_each$(self_, (async (_w1, $task) => {
|
|
1136
|
-
|
|
1136
|
+
builder_.array.push(_w1)
|
|
1137
1137
|
}), $task));
|
|
1138
1138
|
return ff_core_Buffer.fromBufferList_(ff_core_Array.Array_drain(builder_))
|
|
1139
1139
|
}
|
|
@@ -1153,11 +1153,11 @@ let remainder_ = ff_core_Option.None();
|
|
|
1153
1153
|
while(ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Buffer.ff_core_Equal_Equal$ff_core_Buffer_Buffer).equals_(remainder_, ff_core_Option.None())) {
|
|
1154
1154
|
const needed_ = (bytes_ - taken_);
|
|
1155
1155
|
if((needed_ > ff_core_Buffer.Buffer_size(buffer_))) {
|
|
1156
|
-
|
|
1156
|
+
buffers_.array.push(buffer_);
|
|
1157
1157
|
taken_ += ff_core_Buffer.Buffer_size(buffer_);
|
|
1158
1158
|
buffer_ = ff_core_Option.Option_grab((await self_.next_($task)))
|
|
1159
1159
|
} else {
|
|
1160
|
-
|
|
1160
|
+
buffers_.array.push(ff_core_Buffer.Buffer_view(buffer_, 0, needed_));
|
|
1161
1161
|
remainder_ = ff_core_Option.Some(ff_core_Buffer.Buffer_view(buffer_, needed_, ff_core_Buffer.Buffer_size(buffer_)))
|
|
1162
1162
|
}
|
|
1163
1163
|
};
|
|
@@ -150,7 +150,7 @@ for(const [k, v] of self_) if(!body_(k, v)) break
|
|
|
150
150
|
export function StringMap_toArray(self_) {
|
|
151
151
|
const array_ = ff_core_Array.new_();
|
|
152
152
|
ff_core_StringMap.StringMap_each(self_, ((k_, v_) => {
|
|
153
|
-
|
|
153
|
+
array_.array.push(ff_core_Pair.Pair(k_, v_))
|
|
154
154
|
}));
|
|
155
155
|
return array_
|
|
156
156
|
}
|
|
@@ -170,7 +170,7 @@ return ff_core_List.List_toMap(ff_core_StringMap.StringMap_toList(self_), ff_cor
|
|
|
170
170
|
export function StringMap_keys(self_) {
|
|
171
171
|
const array_ = ff_core_Array.new_();
|
|
172
172
|
ff_core_StringMap.StringMap_each(self_, ((k_, v_) => {
|
|
173
|
-
|
|
173
|
+
array_.array.push(k_)
|
|
174
174
|
}));
|
|
175
175
|
return ff_core_Array.Array_toList(array_, 0, 9007199254740991)
|
|
176
176
|
}
|
|
@@ -178,7 +178,7 @@ return ff_core_Array.Array_toList(array_, 0, 9007199254740991)
|
|
|
178
178
|
export function StringMap_values(self_) {
|
|
179
179
|
const array_ = ff_core_Array.new_();
|
|
180
180
|
ff_core_StringMap.StringMap_each(self_, ((k_, v_) => {
|
|
181
|
-
|
|
181
|
+
array_.array.push(v_)
|
|
182
182
|
}));
|
|
183
183
|
return ff_core_Array.Array_toList(array_, 0, 9007199254740991)
|
|
184
184
|
}
|
|
@@ -233,7 +233,7 @@ for(const [k, v] of self_) if(!await body_(k, v)) break
|
|
|
233
233
|
export async function StringMap_toArray$(self_, $task) {
|
|
234
234
|
const array_ = ff_core_Array.new_();
|
|
235
235
|
ff_core_StringMap.StringMap_each(self_, ((k_, v_) => {
|
|
236
|
-
|
|
236
|
+
array_.array.push(ff_core_Pair.Pair(k_, v_))
|
|
237
237
|
}));
|
|
238
238
|
return array_
|
|
239
239
|
}
|
|
@@ -253,7 +253,7 @@ return ff_core_List.List_toMap(ff_core_StringMap.StringMap_toList(self_), ff_cor
|
|
|
253
253
|
export async function StringMap_keys$(self_, $task) {
|
|
254
254
|
const array_ = ff_core_Array.new_();
|
|
255
255
|
ff_core_StringMap.StringMap_each(self_, ((k_, v_) => {
|
|
256
|
-
|
|
256
|
+
array_.array.push(k_)
|
|
257
257
|
}));
|
|
258
258
|
return ff_core_Array.Array_toList(array_, 0, 9007199254740991)
|
|
259
259
|
}
|
|
@@ -261,7 +261,7 @@ return ff_core_Array.Array_toList(array_, 0, 9007199254740991)
|
|
|
261
261
|
export async function StringMap_values$(self_, $task) {
|
|
262
262
|
const array_ = ff_core_Array.new_();
|
|
263
263
|
ff_core_StringMap.StringMap_each(self_, ((k_, v_) => {
|
|
264
|
-
|
|
264
|
+
array_.array.push(v_)
|
|
265
265
|
}));
|
|
266
266
|
return ff_core_Array.Array_toList(array_, 0, 9007199254740991)
|
|
267
267
|
}
|
|
@@ -286,7 +286,7 @@ return
|
|
|
286
286
|
}
|
|
287
287
|
if(_1.Some) {
|
|
288
288
|
const array_ = _1.value_;
|
|
289
|
-
|
|
289
|
+
array_.array.push(value_)
|
|
290
290
|
return
|
|
291
291
|
}
|
|
292
292
|
}
|
|
@@ -301,7 +301,7 @@ return
|
|
|
301
301
|
}
|
|
302
302
|
if(_1.Some) {
|
|
303
303
|
const array_ = _1.value_;
|
|
304
|
-
|
|
304
|
+
array_.array.push(value_)
|
|
305
305
|
return
|
|
306
306
|
}
|
|
307
307
|
}
|
|
@@ -287,9 +287,10 @@ return _w1
|
|
|
287
287
|
return ff_core_Error.Error_rethrow(_w1)
|
|
288
288
|
})))
|
|
289
289
|
} finally {
|
|
290
|
-
|
|
290
|
+
for(let for_i = 0, for_a = started_, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
291
|
+
const _w1 = for_a[for_i];
|
|
291
292
|
ff_core_Task.Task_abort(_w1)
|
|
292
|
-
}
|
|
293
|
+
}
|
|
293
294
|
}
|
|
294
295
|
}
|
|
295
296
|
|
|
@@ -376,9 +377,10 @@ return _w1
|
|
|
376
377
|
return ff_core_Error.Error_rethrow(_w1)
|
|
377
378
|
}), $task)), $task))
|
|
378
379
|
} finally {
|
|
379
|
-
(
|
|
380
|
+
for(let for_i = 0, for_a = started_, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
381
|
+
const _w1 = for_a[for_i];
|
|
380
382
|
(await ff_core_Task.Task_abort$(_w1, $task))
|
|
381
|
-
}
|
|
383
|
+
}
|
|
382
384
|
}
|
|
383
385
|
}
|
|
384
386
|
|
package/package.json
CHANGED