firefly-compiler 0.4.20 → 0.4.21
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/Builder.ff +23 -13
- package/compiler/JsEmitter.ff +120 -76
- package/compiler/LspHook.ff +4 -2
- package/compiler/Main.ff +13 -7
- package/compiler/Resolver.ff +15 -15
- package/compiler/Syntax.ff +1 -0
- package/core/Array.ff +6 -4
- package/core/Int.ff +12 -12
- package/core/List.ff +6 -4
- package/experimental/benchmarks/ListGrab.ff +23 -0
- package/experimental/benchmarks/ListGrab.java +55 -0
- package/experimental/benchmarks/Pyrotek45.ff +30 -0
- package/experimental/benchmarks/Pyrotek45.java +64 -0
- package/experimental/tests/TestJson.ff +26 -0
- package/lsp/Handler.ff +55 -59
- package/lsp/SignatureHelpHandler.ff +5 -4
- package/lsp/TestReferences.ff +15 -0
- package/lsp/TestReferencesCase.ff +8 -0
- package/output/js/ff/compiler/Builder.mjs +50 -44
- package/output/js/ff/compiler/Dependencies.mjs +0 -2
- package/output/js/ff/compiler/Deriver.mjs +16 -140
- package/output/js/ff/compiler/Dictionaries.mjs +8 -222
- package/output/js/ff/compiler/Environment.mjs +12 -154
- package/output/js/ff/compiler/Inference.mjs +127 -1013
- package/output/js/ff/compiler/JsEmitter.mjs +434 -2344
- package/output/js/ff/compiler/JsImporter.mjs +0 -12
- package/output/js/ff/compiler/LspHook.mjs +20 -446
- package/output/js/ff/compiler/Main.mjs +96 -550
- package/output/js/ff/compiler/Parser.mjs +36 -356
- package/output/js/ff/compiler/Patterns.mjs +20 -200
- package/output/js/ff/compiler/Resolver.mjs +26 -340
- package/output/js/ff/compiler/Substitution.mjs +2 -160
- package/output/js/ff/compiler/Syntax.mjs +449 -3293
- package/output/js/ff/compiler/Token.mjs +9 -1095
- package/output/js/ff/compiler/Tokenizer.mjs +4 -2
- package/output/js/ff/compiler/Unification.mjs +26 -360
- package/output/js/ff/compiler/Wildcards.mjs +0 -86
- package/output/js/ff/compiler/Workspace.mjs +8 -96
- package/output/js/ff/core/Array.mjs +15 -8
- package/output/js/ff/core/AssetSystem.mjs +4 -14
- package/output/js/ff/core/Bool.mjs +0 -12
- package/output/js/ff/core/Core.mjs +0 -30
- package/output/js/ff/core/Int.mjs +24 -24
- package/output/js/ff/core/IntMap.mjs +0 -8
- package/output/js/ff/core/Json.mjs +0 -40
- package/output/js/ff/core/List.mjs +23 -32
- package/output/js/ff/core/Lock.mjs +0 -10
- package/output/js/ff/core/Map.mjs +0 -24
- package/output/js/ff/core/Option.mjs +10 -286
- package/output/js/ff/core/Ordering.mjs +16 -158
- package/output/js/ff/core/Pair.mjs +2 -34
- package/output/js/ff/core/Path.mjs +2 -28
- package/output/js/ff/core/Random.mjs +4 -4
- package/output/js/ff/core/RbMap.mjs +56 -644
- package/output/js/ff/core/Show.mjs +0 -16
- package/output/js/ff/core/Stream.mjs +14 -144
- package/output/js/ff/core/StringMap.mjs +0 -8
- package/output/js/ff/core/Try.mjs +4 -108
- package/output/js/ff/core/Unit.mjs +2 -16
- package/package.json +1 -1
- package/postgresql/Pg.ff +23 -23
- package/vscode/package.json +1 -1
|
@@ -143,12 +143,7 @@ return ff_compiler_Syntax.ForeignTarget(sync_, async_)
|
|
|
143
143
|
})());
|
|
144
144
|
{
|
|
145
145
|
const _1 = foreignTarget_;
|
|
146
|
-
{
|
|
147
|
-
if(_1.ForeignTarget) {
|
|
148
|
-
if(_1.syncCode_.None) {
|
|
149
|
-
if(_1.asyncCode_.None) {
|
|
150
|
-
const _guard1 = targetIsNode_;
|
|
151
|
-
if(_guard1) {
|
|
146
|
+
if(_1.ForeignTarget && _1.syncCode_.None && _1.asyncCode_.None && targetIsNode_) {
|
|
152
147
|
return ff_core_Option.Option_else(ff_core_Option.Option_map(ff_core_Option.Option_orElse(targets_.node_, (() => {
|
|
153
148
|
return ff_core_Option.Option_orElse(targets_.js_, (() => {
|
|
154
149
|
return body_
|
|
@@ -160,16 +155,7 @@ return foreignTarget_
|
|
|
160
155
|
}))
|
|
161
156
|
return
|
|
162
157
|
}
|
|
163
|
-
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
{
|
|
168
|
-
if(_1.ForeignTarget) {
|
|
169
|
-
if(_1.syncCode_.None) {
|
|
170
|
-
if(_1.asyncCode_.None) {
|
|
171
|
-
const _guard1 = (!targetIsNode_);
|
|
172
|
-
if(_guard1) {
|
|
158
|
+
if(_1.ForeignTarget && _1.syncCode_.None && _1.asyncCode_.None && (!targetIsNode_)) {
|
|
173
159
|
return ff_core_Option.Option_else(ff_core_Option.Option_map(ff_core_Option.Option_orElse(targets_.browser_, (() => {
|
|
174
160
|
return ff_core_Option.Option_orElse(targets_.js_, (() => {
|
|
175
161
|
return body_
|
|
@@ -181,13 +167,8 @@ return foreignTarget_
|
|
|
181
167
|
}))
|
|
182
168
|
return
|
|
183
169
|
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
170
|
{
|
|
189
171
|
return foreignTarget_
|
|
190
|
-
return
|
|
191
172
|
}
|
|
192
173
|
}
|
|
193
174
|
}
|
|
@@ -218,12 +199,7 @@ return ff_compiler_Syntax.ForeignTarget(sync_, async_)
|
|
|
218
199
|
})()));
|
|
219
200
|
{
|
|
220
201
|
const _1 = foreignTarget_;
|
|
221
|
-
{
|
|
222
|
-
if(_1.ForeignTarget) {
|
|
223
|
-
if(_1.syncCode_.None) {
|
|
224
|
-
if(_1.asyncCode_.None) {
|
|
225
|
-
const _guard1 = targetIsNode_;
|
|
226
|
-
if(_guard1) {
|
|
202
|
+
if(_1.ForeignTarget && _1.syncCode_.None && _1.asyncCode_.None && targetIsNode_) {
|
|
227
203
|
return ff_core_Option.Option_else(ff_core_Option.Option_map(ff_core_Option.Option_orElse(targets_.node_, (() => {
|
|
228
204
|
return ff_core_Option.Option_orElse(targets_.js_, (() => {
|
|
229
205
|
return body_
|
|
@@ -235,16 +211,7 @@ return foreignTarget_
|
|
|
235
211
|
}))
|
|
236
212
|
return
|
|
237
213
|
}
|
|
238
|
-
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
{
|
|
243
|
-
if(_1.ForeignTarget) {
|
|
244
|
-
if(_1.syncCode_.None) {
|
|
245
|
-
if(_1.asyncCode_.None) {
|
|
246
|
-
const _guard1 = (!targetIsNode_);
|
|
247
|
-
if(_guard1) {
|
|
214
|
+
if(_1.ForeignTarget && _1.syncCode_.None && _1.asyncCode_.None && (!targetIsNode_)) {
|
|
248
215
|
return ff_core_Option.Option_else(ff_core_Option.Option_map(ff_core_Option.Option_orElse(targets_.browser_, (() => {
|
|
249
216
|
return ff_core_Option.Option_orElse(targets_.js_, (() => {
|
|
250
217
|
return body_
|
|
@@ -256,13 +223,8 @@ return foreignTarget_
|
|
|
256
223
|
}))
|
|
257
224
|
return
|
|
258
225
|
}
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
226
|
{
|
|
264
227
|
return foreignTarget_
|
|
265
|
-
return
|
|
266
228
|
}
|
|
267
229
|
}
|
|
268
230
|
}
|
|
@@ -501,7 +463,6 @@ if(ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "{"))
|
|
|
501
463
|
const lambda_ = ff_compiler_Parser.Parser_parseLambda(self_, parameterCount_, false, false);
|
|
502
464
|
do {
|
|
503
465
|
const _1 = target_;
|
|
504
|
-
{
|
|
505
466
|
if(_1 === "js") {
|
|
506
467
|
if(ff_core_Equal.notEquals_(targets_.jsSync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
507
468
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
@@ -511,8 +472,6 @@ return ff_compiler_Parser.ParsedTargets(ff_core_Option.Some(lambda_), _c.jsSync_
|
|
|
511
472
|
}))(targets_)
|
|
512
473
|
break
|
|
513
474
|
}
|
|
514
|
-
}
|
|
515
|
-
{
|
|
516
475
|
if(_1 === "browser") {
|
|
517
476
|
if(ff_core_Equal.notEquals_(targets_.browserSync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
518
477
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
@@ -522,8 +481,6 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, _c.jsAsync_, ff_core
|
|
|
522
481
|
}))(targets_)
|
|
523
482
|
break
|
|
524
483
|
}
|
|
525
|
-
}
|
|
526
|
-
{
|
|
527
484
|
if(_1 === "node") {
|
|
528
485
|
if(ff_core_Equal.notEquals_(targets_.nodeAsync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
529
486
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
@@ -533,10 +490,8 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, _c.jsAsync_, _c.brow
|
|
|
533
490
|
}))(targets_)
|
|
534
491
|
break
|
|
535
492
|
}
|
|
536
|
-
}
|
|
537
493
|
{
|
|
538
494
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Unknown target"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
539
|
-
break
|
|
540
495
|
}
|
|
541
496
|
} while(false)
|
|
542
497
|
} else {
|
|
@@ -544,9 +499,7 @@ const mode_ = ff_compiler_Token.Token_raw(ff_compiler_Parser.Parser_skip(self_,
|
|
|
544
499
|
const code_ = processCode_(ff_compiler_Token.Token_raw(ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LString())));
|
|
545
500
|
do {
|
|
546
501
|
const _1 = ff_core_Pair.Pair(target_, mode_);
|
|
547
|
-
{
|
|
548
|
-
if(_1.first_ === "js") {
|
|
549
|
-
if(_1.second_ === "sync") {
|
|
502
|
+
if(_1.first_ === "js" && _1.second_ === "sync") {
|
|
550
503
|
if(ff_core_Equal.notEquals_(targets_.jsSync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
551
504
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
552
505
|
};
|
|
@@ -555,11 +508,7 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, ff_core_Option.Some(code_), _c.j
|
|
|
555
508
|
}))(targets_)
|
|
556
509
|
break
|
|
557
510
|
}
|
|
558
|
-
|
|
559
|
-
}
|
|
560
|
-
{
|
|
561
|
-
if(_1.first_ === "js") {
|
|
562
|
-
if(_1.second_ === "async") {
|
|
511
|
+
if(_1.first_ === "js" && _1.second_ === "async") {
|
|
563
512
|
if(ff_core_Equal.notEquals_(targets_.jsAsync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
564
513
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
565
514
|
};
|
|
@@ -568,11 +517,7 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, ff_core_Option.Some(
|
|
|
568
517
|
}))(targets_)
|
|
569
518
|
break
|
|
570
519
|
}
|
|
571
|
-
|
|
572
|
-
}
|
|
573
|
-
{
|
|
574
|
-
if(_1.first_ === "browser") {
|
|
575
|
-
if(_1.second_ === "sync") {
|
|
520
|
+
if(_1.first_ === "browser" && _1.second_ === "sync") {
|
|
576
521
|
if(ff_core_Equal.notEquals_(targets_.browserSync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
577
522
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
578
523
|
};
|
|
@@ -581,11 +526,7 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, _c.jsAsync_, _c.brow
|
|
|
581
526
|
}))(targets_)
|
|
582
527
|
break
|
|
583
528
|
}
|
|
584
|
-
|
|
585
|
-
}
|
|
586
|
-
{
|
|
587
|
-
if(_1.first_ === "browser") {
|
|
588
|
-
if(_1.second_ === "async") {
|
|
529
|
+
if(_1.first_ === "browser" && _1.second_ === "async") {
|
|
589
530
|
if(ff_core_Equal.notEquals_(targets_.browserAsync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
590
531
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
591
532
|
};
|
|
@@ -594,11 +535,7 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, _c.jsAsync_, _c.brow
|
|
|
594
535
|
}))(targets_)
|
|
595
536
|
break
|
|
596
537
|
}
|
|
597
|
-
|
|
598
|
-
}
|
|
599
|
-
{
|
|
600
|
-
if(_1.first_ === "node") {
|
|
601
|
-
if(_1.second_ === "sync") {
|
|
538
|
+
if(_1.first_ === "node" && _1.second_ === "sync") {
|
|
602
539
|
if(ff_core_Equal.notEquals_(targets_.nodeSync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
603
540
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
604
541
|
};
|
|
@@ -607,11 +544,7 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, _c.jsAsync_, _c.brow
|
|
|
607
544
|
}))(targets_)
|
|
608
545
|
break
|
|
609
546
|
}
|
|
610
|
-
|
|
611
|
-
}
|
|
612
|
-
{
|
|
613
|
-
if(_1.first_ === "node") {
|
|
614
|
-
if(_1.second_ === "async") {
|
|
547
|
+
if(_1.first_ === "node" && _1.second_ === "async") {
|
|
615
548
|
if(ff_core_Equal.notEquals_(targets_.nodeAsync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
616
549
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
617
550
|
};
|
|
@@ -620,11 +553,8 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, _c.jsAsync_, _c.brow
|
|
|
620
553
|
}))(targets_)
|
|
621
554
|
break
|
|
622
555
|
}
|
|
623
|
-
}
|
|
624
|
-
}
|
|
625
556
|
{
|
|
626
557
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Unknown target or mode"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
627
|
-
break
|
|
628
558
|
}
|
|
629
559
|
} while(false)
|
|
630
560
|
}
|
|
@@ -940,44 +870,27 @@ const token_ = (ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(sel
|
|
|
940
870
|
: ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LKeyword()));
|
|
941
871
|
do {
|
|
942
872
|
const _1 = ff_compiler_Token.Token_raw(token_);
|
|
943
|
-
{
|
|
944
|
-
if(_1 === "node") {
|
|
945
|
-
const _guard1 = targets_.node_;
|
|
946
|
-
if(_guard1) {
|
|
873
|
+
if(_1 === "node" && targets_.node_) {
|
|
947
874
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), "Duplicate target name"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
948
|
-
break
|
|
949
875
|
}
|
|
950
|
-
}
|
|
951
|
-
}
|
|
952
|
-
{
|
|
953
876
|
if(_1 === "node") {
|
|
954
877
|
targets_ = (((_c) => {
|
|
955
878
|
return ff_compiler_Syntax.TargetNames(true, _c.browser_)
|
|
956
879
|
}))(targets_)
|
|
957
880
|
break
|
|
958
881
|
}
|
|
959
|
-
|
|
960
|
-
{
|
|
961
|
-
if(_1 === "browser") {
|
|
962
|
-
const _guard1 = targets_.browser_;
|
|
963
|
-
if(_guard1) {
|
|
882
|
+
if(_1 === "browser" && targets_.browser_) {
|
|
964
883
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), "Duplicate target name"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
965
|
-
break
|
|
966
|
-
}
|
|
967
|
-
}
|
|
968
884
|
}
|
|
969
|
-
{
|
|
970
885
|
if(_1 === "browser") {
|
|
971
886
|
targets_ = (((_c) => {
|
|
972
887
|
return ff_compiler_Syntax.TargetNames(_c.node_, true)
|
|
973
888
|
}))(targets_)
|
|
974
889
|
break
|
|
975
890
|
}
|
|
976
|
-
}
|
|
977
891
|
{
|
|
978
892
|
const t_ = _1;
|
|
979
893
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), ("Unexpected target: " + t_)), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
980
|
-
break
|
|
981
894
|
}
|
|
982
895
|
} while(false)
|
|
983
896
|
};
|
|
@@ -1443,24 +1356,17 @@ const operator_ = ff_core_String.String_dropLast(ff_compiler_Token.Token_raw(tok
|
|
|
1443
1356
|
const value_ = ff_compiler_Parser.Parser_parseTerm(self_);
|
|
1444
1357
|
{
|
|
1445
1358
|
const _1 = term_;
|
|
1446
|
-
{
|
|
1447
1359
|
if(_1.EVariable) {
|
|
1448
1360
|
const at_ = _1.at_;
|
|
1449
1361
|
const name_ = _1.name_;
|
|
1450
1362
|
return ff_compiler_Syntax.EAssign(at_, operator_, name_, value_)
|
|
1451
|
-
return
|
|
1452
|
-
}
|
|
1453
1363
|
}
|
|
1454
|
-
{
|
|
1455
1364
|
if(_1.EField) {
|
|
1456
1365
|
const e_ = _1;
|
|
1457
1366
|
return ff_compiler_Syntax.EAssignField(e_.at_, operator_, e_.record_, e_.field_, value_)
|
|
1458
|
-
return
|
|
1459
|
-
}
|
|
1460
1367
|
}
|
|
1461
1368
|
{
|
|
1462
1369
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), "Only variables and fields are assignable"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
1463
|
-
return
|
|
1464
1370
|
}
|
|
1465
1371
|
}
|
|
1466
1372
|
}
|
|
@@ -1542,7 +1448,7 @@ export function Parser_parseBinary(self_, level_) {
|
|
|
1542
1448
|
if((level_ >= ff_core_List.List_size(ff_compiler_Parser.binaryOperators_))) {
|
|
1543
1449
|
return ff_compiler_Parser.Parser_parseUnary(self_)
|
|
1544
1450
|
} else {
|
|
1545
|
-
const operators_ = ff_core_List.
|
|
1451
|
+
const operators_ = (ff_compiler_Parser.binaryOperators_[level_] ?? ff_core_List.internalGrab_(ff_compiler_Parser.binaryOperators_, level_));
|
|
1546
1452
|
let result_ = ff_compiler_Parser.Parser_parseBinary(self_, (level_ + 1));
|
|
1547
1453
|
if(ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LOperator())) {
|
|
1548
1454
|
while(ff_core_List.List_any(operators_, ((value_) => {
|
|
@@ -1553,46 +1459,27 @@ const right_ = ff_compiler_Parser.Parser_parseBinary(self_, (level_ + 1));
|
|
|
1553
1459
|
const arguments_ = [ff_compiler_Syntax.Argument(result_.at_, ff_core_Option.None(), result_), ff_compiler_Syntax.Argument(right_.at_, ff_core_Option.None(), right_)];
|
|
1554
1460
|
const effect_ = ff_compiler_Parser.Parser_freshUnificationVariable(self_, ff_compiler_Token.Token_at(token_));
|
|
1555
1461
|
const target_ = (((_1) => {
|
|
1556
|
-
{
|
|
1557
1462
|
if(_1 === "==") {
|
|
1558
1463
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), "ff:core/Equal.equals"), false)
|
|
1559
|
-
return
|
|
1560
|
-
}
|
|
1561
1464
|
}
|
|
1562
|
-
{
|
|
1563
1465
|
if(_1 === "!=") {
|
|
1564
1466
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), "ff:core/Equal.notEquals"), false)
|
|
1565
|
-
return
|
|
1566
1467
|
}
|
|
1567
|
-
}
|
|
1568
|
-
{
|
|
1569
1468
|
if(_1 === "<") {
|
|
1570
1469
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), "ff:core/Ordering.before"), false)
|
|
1571
|
-
return
|
|
1572
|
-
}
|
|
1573
1470
|
}
|
|
1574
|
-
{
|
|
1575
1471
|
if(_1 === "<=") {
|
|
1576
1472
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), "ff:core/Ordering.notAfter"), false)
|
|
1577
|
-
return
|
|
1578
1473
|
}
|
|
1579
|
-
}
|
|
1580
|
-
{
|
|
1581
1474
|
if(_1 === ">") {
|
|
1582
1475
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), "ff:core/Ordering.after"), false)
|
|
1583
|
-
return
|
|
1584
|
-
}
|
|
1585
1476
|
}
|
|
1586
|
-
{
|
|
1587
1477
|
if(_1 === ">=") {
|
|
1588
1478
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), "ff:core/Ordering.notBefore"), false)
|
|
1589
|
-
return
|
|
1590
|
-
}
|
|
1591
1479
|
}
|
|
1592
1480
|
{
|
|
1593
1481
|
const o_ = _1;
|
|
1594
1482
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), o_), false)
|
|
1595
|
-
return
|
|
1596
1483
|
}
|
|
1597
1484
|
}))(ff_compiler_Token.Token_raw(token_));
|
|
1598
1485
|
result_ = ff_compiler_Syntax.ECall(ff_compiler_Token.Token_at(token_), target_, effect_, [], arguments_, [])
|
|
@@ -1817,45 +1704,23 @@ return _w1.first_
|
|
|
1817
1704
|
|
|
1818
1705
|
export function Parser_parseListPattern(self_) {
|
|
1819
1706
|
function convertListPattern_(at_, items_) {
|
|
1820
|
-
{
|
|
1821
1707
|
const at_a = at_;
|
|
1822
1708
|
const items_a = items_;
|
|
1823
|
-
{
|
|
1824
1709
|
if(items_a.length === 0) {
|
|
1825
1710
|
return ff_compiler_Syntax.PVariant(at_, "List$Empty", [])
|
|
1826
|
-
return
|
|
1827
1711
|
}
|
|
1828
|
-
|
|
1829
|
-
{
|
|
1830
|
-
if(items_a.length > 0) {
|
|
1712
|
+
if(items_a.length >= 1 && !items_a[0].second_) {
|
|
1831
1713
|
const p_ = items_a[0].first_;
|
|
1832
|
-
if(!items_a[0].second_) {
|
|
1833
1714
|
const ps_ = items_a.slice(1);
|
|
1834
1715
|
return ff_compiler_Syntax.PVariant(at_, "List$Link", [p_, convertListPattern_(at_, ps_)])
|
|
1835
|
-
return
|
|
1836
|
-
}
|
|
1837
1716
|
}
|
|
1838
|
-
|
|
1839
|
-
{
|
|
1840
|
-
if(items_a.length > 0) {
|
|
1717
|
+
if(items_a.length === 1 && items_a[0].second_) {
|
|
1841
1718
|
const p_ = items_a[0].first_;
|
|
1842
|
-
if(items_a[0].second_) {
|
|
1843
|
-
if(items_a.length === 1) {
|
|
1844
1719
|
return p_
|
|
1845
|
-
return
|
|
1846
|
-
}
|
|
1847
|
-
}
|
|
1848
|
-
}
|
|
1849
1720
|
}
|
|
1850
|
-
{
|
|
1851
|
-
if(items_a.length > 0) {
|
|
1721
|
+
if(items_a.length >= 1 && items_a[0].second_) {
|
|
1852
1722
|
const p_ = items_a[0].first_;
|
|
1853
|
-
if(items_a[0].second_) {
|
|
1854
1723
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(p_.at_, "Invalid pattern: ... is only allowed for the last element in a list"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
1855
|
-
return
|
|
1856
|
-
}
|
|
1857
|
-
}
|
|
1858
|
-
}
|
|
1859
1724
|
}
|
|
1860
1725
|
}
|
|
1861
1726
|
const items_ = ff_core_Array.make_();
|
|
@@ -2128,7 +1993,6 @@ if(ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "{"))
|
|
|
2128
1993
|
const lambda_ = ff_compiler_Parser.Parser_parseLambda(self_, parameterCount_, false, false);
|
|
2129
1994
|
do {
|
|
2130
1995
|
const _1 = target_;
|
|
2131
|
-
{
|
|
2132
1996
|
if(_1 === "js") {
|
|
2133
1997
|
if(ff_core_Equal.notEquals_(targets_.jsSync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
2134
1998
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
@@ -2138,8 +2002,6 @@ return ff_compiler_Parser.ParsedTargets(ff_core_Option.Some(lambda_), _c.jsSync_
|
|
|
2138
2002
|
}))(targets_)
|
|
2139
2003
|
break
|
|
2140
2004
|
}
|
|
2141
|
-
}
|
|
2142
|
-
{
|
|
2143
2005
|
if(_1 === "browser") {
|
|
2144
2006
|
if(ff_core_Equal.notEquals_(targets_.browserSync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
2145
2007
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
@@ -2149,8 +2011,6 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, _c.jsAsync_, ff_core
|
|
|
2149
2011
|
}))(targets_)
|
|
2150
2012
|
break
|
|
2151
2013
|
}
|
|
2152
|
-
}
|
|
2153
|
-
{
|
|
2154
2014
|
if(_1 === "node") {
|
|
2155
2015
|
if(ff_core_Equal.notEquals_(targets_.nodeAsync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
2156
2016
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
@@ -2160,10 +2020,8 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, _c.jsAsync_, _c.brow
|
|
|
2160
2020
|
}))(targets_)
|
|
2161
2021
|
break
|
|
2162
2022
|
}
|
|
2163
|
-
}
|
|
2164
2023
|
{
|
|
2165
2024
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Unknown target"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
2166
|
-
break
|
|
2167
2025
|
}
|
|
2168
2026
|
} while(false)
|
|
2169
2027
|
} else {
|
|
@@ -2171,9 +2029,7 @@ const mode_ = ff_compiler_Token.Token_raw(ff_compiler_Parser.Parser_skip(self_,
|
|
|
2171
2029
|
const code_ = processCode_(ff_compiler_Token.Token_raw(ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LString())));
|
|
2172
2030
|
do {
|
|
2173
2031
|
const _1 = ff_core_Pair.Pair(target_, mode_);
|
|
2174
|
-
{
|
|
2175
|
-
if(_1.first_ === "js") {
|
|
2176
|
-
if(_1.second_ === "sync") {
|
|
2032
|
+
if(_1.first_ === "js" && _1.second_ === "sync") {
|
|
2177
2033
|
if(ff_core_Equal.notEquals_(targets_.jsSync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
2178
2034
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
2179
2035
|
};
|
|
@@ -2182,11 +2038,7 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, ff_core_Option.Some(code_), _c.j
|
|
|
2182
2038
|
}))(targets_)
|
|
2183
2039
|
break
|
|
2184
2040
|
}
|
|
2185
|
-
|
|
2186
|
-
}
|
|
2187
|
-
{
|
|
2188
|
-
if(_1.first_ === "js") {
|
|
2189
|
-
if(_1.second_ === "async") {
|
|
2041
|
+
if(_1.first_ === "js" && _1.second_ === "async") {
|
|
2190
2042
|
if(ff_core_Equal.notEquals_(targets_.jsAsync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
2191
2043
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
2192
2044
|
};
|
|
@@ -2195,11 +2047,7 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, ff_core_Option.Some(
|
|
|
2195
2047
|
}))(targets_)
|
|
2196
2048
|
break
|
|
2197
2049
|
}
|
|
2198
|
-
|
|
2199
|
-
}
|
|
2200
|
-
{
|
|
2201
|
-
if(_1.first_ === "browser") {
|
|
2202
|
-
if(_1.second_ === "sync") {
|
|
2050
|
+
if(_1.first_ === "browser" && _1.second_ === "sync") {
|
|
2203
2051
|
if(ff_core_Equal.notEquals_(targets_.browserSync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
2204
2052
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
2205
2053
|
};
|
|
@@ -2208,11 +2056,7 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, _c.jsAsync_, _c.brow
|
|
|
2208
2056
|
}))(targets_)
|
|
2209
2057
|
break
|
|
2210
2058
|
}
|
|
2211
|
-
|
|
2212
|
-
}
|
|
2213
|
-
{
|
|
2214
|
-
if(_1.first_ === "browser") {
|
|
2215
|
-
if(_1.second_ === "async") {
|
|
2059
|
+
if(_1.first_ === "browser" && _1.second_ === "async") {
|
|
2216
2060
|
if(ff_core_Equal.notEquals_(targets_.browserAsync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
2217
2061
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
2218
2062
|
};
|
|
@@ -2221,11 +2065,7 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, _c.jsAsync_, _c.brow
|
|
|
2221
2065
|
}))(targets_)
|
|
2222
2066
|
break
|
|
2223
2067
|
}
|
|
2224
|
-
|
|
2225
|
-
}
|
|
2226
|
-
{
|
|
2227
|
-
if(_1.first_ === "node") {
|
|
2228
|
-
if(_1.second_ === "sync") {
|
|
2068
|
+
if(_1.first_ === "node" && _1.second_ === "sync") {
|
|
2229
2069
|
if(ff_core_Equal.notEquals_(targets_.nodeSync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
2230
2070
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
2231
2071
|
};
|
|
@@ -2234,11 +2074,7 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, _c.jsAsync_, _c.brow
|
|
|
2234
2074
|
}))(targets_)
|
|
2235
2075
|
break
|
|
2236
2076
|
}
|
|
2237
|
-
|
|
2238
|
-
}
|
|
2239
|
-
{
|
|
2240
|
-
if(_1.first_ === "node") {
|
|
2241
|
-
if(_1.second_ === "async") {
|
|
2077
|
+
if(_1.first_ === "node" && _1.second_ === "async") {
|
|
2242
2078
|
if(ff_core_Equal.notEquals_(targets_.nodeAsync_, ff_core_Option.None(), ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String))) {
|
|
2243
2079
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Duplicate target definition"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
2244
2080
|
};
|
|
@@ -2247,11 +2083,8 @@ return ff_compiler_Parser.ParsedTargets(_c.js_, _c.jsSync_, _c.jsAsync_, _c.brow
|
|
|
2247
2083
|
}))(targets_)
|
|
2248
2084
|
break
|
|
2249
2085
|
}
|
|
2250
|
-
}
|
|
2251
|
-
}
|
|
2252
2086
|
{
|
|
2253
2087
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Unknown target or mode"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
2254
|
-
break
|
|
2255
2088
|
}
|
|
2256
2089
|
} while(false)
|
|
2257
2090
|
}
|
|
@@ -2567,44 +2400,27 @@ const token_ = (ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(sel
|
|
|
2567
2400
|
: ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LKeyword()));
|
|
2568
2401
|
do {
|
|
2569
2402
|
const _1 = ff_compiler_Token.Token_raw(token_);
|
|
2570
|
-
{
|
|
2571
|
-
if(_1 === "node") {
|
|
2572
|
-
const _guard1 = targets_.node_;
|
|
2573
|
-
if(_guard1) {
|
|
2403
|
+
if(_1 === "node" && targets_.node_) {
|
|
2574
2404
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), "Duplicate target name"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
2575
|
-
break
|
|
2576
2405
|
}
|
|
2577
|
-
}
|
|
2578
|
-
}
|
|
2579
|
-
{
|
|
2580
2406
|
if(_1 === "node") {
|
|
2581
2407
|
targets_ = (((_c) => {
|
|
2582
2408
|
return ff_compiler_Syntax.TargetNames(true, _c.browser_)
|
|
2583
2409
|
}))(targets_)
|
|
2584
2410
|
break
|
|
2585
2411
|
}
|
|
2586
|
-
|
|
2587
|
-
{
|
|
2588
|
-
if(_1 === "browser") {
|
|
2589
|
-
const _guard1 = targets_.browser_;
|
|
2590
|
-
if(_guard1) {
|
|
2412
|
+
if(_1 === "browser" && targets_.browser_) {
|
|
2591
2413
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), "Duplicate target name"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
2592
|
-
break
|
|
2593
|
-
}
|
|
2594
|
-
}
|
|
2595
2414
|
}
|
|
2596
|
-
{
|
|
2597
2415
|
if(_1 === "browser") {
|
|
2598
2416
|
targets_ = (((_c) => {
|
|
2599
2417
|
return ff_compiler_Syntax.TargetNames(_c.node_, true)
|
|
2600
2418
|
}))(targets_)
|
|
2601
2419
|
break
|
|
2602
2420
|
}
|
|
2603
|
-
}
|
|
2604
2421
|
{
|
|
2605
2422
|
const t_ = _1;
|
|
2606
2423
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), ("Unexpected target: " + t_)), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
2607
|
-
break
|
|
2608
2424
|
}
|
|
2609
2425
|
} while(false)
|
|
2610
2426
|
};
|
|
@@ -3070,24 +2886,17 @@ const operator_ = ff_core_String.String_dropLast(ff_compiler_Token.Token_raw(tok
|
|
|
3070
2886
|
const value_ = ff_compiler_Parser.Parser_parseTerm(self_);
|
|
3071
2887
|
{
|
|
3072
2888
|
const _1 = term_;
|
|
3073
|
-
{
|
|
3074
2889
|
if(_1.EVariable) {
|
|
3075
2890
|
const at_ = _1.at_;
|
|
3076
2891
|
const name_ = _1.name_;
|
|
3077
2892
|
return ff_compiler_Syntax.EAssign(at_, operator_, name_, value_)
|
|
3078
|
-
return
|
|
3079
|
-
}
|
|
3080
2893
|
}
|
|
3081
|
-
{
|
|
3082
2894
|
if(_1.EField) {
|
|
3083
2895
|
const e_ = _1;
|
|
3084
2896
|
return ff_compiler_Syntax.EAssignField(e_.at_, operator_, e_.record_, e_.field_, value_)
|
|
3085
|
-
return
|
|
3086
|
-
}
|
|
3087
2897
|
}
|
|
3088
2898
|
{
|
|
3089
2899
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(ff_compiler_Token.Token_at(token_), "Only variables and fields are assignable"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
3090
|
-
return
|
|
3091
2900
|
}
|
|
3092
2901
|
}
|
|
3093
2902
|
}
|
|
@@ -3169,7 +2978,7 @@ export async function Parser_parseBinary$(self_, level_, $task) {
|
|
|
3169
2978
|
if((level_ >= ff_core_List.List_size(ff_compiler_Parser.binaryOperators_))) {
|
|
3170
2979
|
return ff_compiler_Parser.Parser_parseUnary(self_)
|
|
3171
2980
|
} else {
|
|
3172
|
-
const operators_ = ff_core_List.
|
|
2981
|
+
const operators_ = (ff_compiler_Parser.binaryOperators_[level_] ?? ff_core_List.internalGrab_(ff_compiler_Parser.binaryOperators_, level_));
|
|
3173
2982
|
let result_ = ff_compiler_Parser.Parser_parseBinary(self_, (level_ + 1));
|
|
3174
2983
|
if(ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LOperator())) {
|
|
3175
2984
|
while(ff_core_List.List_any(operators_, ((value_) => {
|
|
@@ -3180,46 +2989,27 @@ const right_ = ff_compiler_Parser.Parser_parseBinary(self_, (level_ + 1));
|
|
|
3180
2989
|
const arguments_ = [ff_compiler_Syntax.Argument(result_.at_, ff_core_Option.None(), result_), ff_compiler_Syntax.Argument(right_.at_, ff_core_Option.None(), right_)];
|
|
3181
2990
|
const effect_ = ff_compiler_Parser.Parser_freshUnificationVariable(self_, ff_compiler_Token.Token_at(token_));
|
|
3182
2991
|
const target_ = (((_1) => {
|
|
3183
|
-
{
|
|
3184
2992
|
if(_1 === "==") {
|
|
3185
2993
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), "ff:core/Equal.equals"), false)
|
|
3186
|
-
return
|
|
3187
|
-
}
|
|
3188
2994
|
}
|
|
3189
|
-
{
|
|
3190
2995
|
if(_1 === "!=") {
|
|
3191
2996
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), "ff:core/Equal.notEquals"), false)
|
|
3192
|
-
return
|
|
3193
2997
|
}
|
|
3194
|
-
}
|
|
3195
|
-
{
|
|
3196
2998
|
if(_1 === "<") {
|
|
3197
2999
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), "ff:core/Ordering.before"), false)
|
|
3198
|
-
return
|
|
3199
|
-
}
|
|
3200
3000
|
}
|
|
3201
|
-
{
|
|
3202
3001
|
if(_1 === "<=") {
|
|
3203
3002
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), "ff:core/Ordering.notAfter"), false)
|
|
3204
|
-
return
|
|
3205
3003
|
}
|
|
3206
|
-
}
|
|
3207
|
-
{
|
|
3208
3004
|
if(_1 === ">") {
|
|
3209
3005
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), "ff:core/Ordering.after"), false)
|
|
3210
|
-
return
|
|
3211
|
-
}
|
|
3212
3006
|
}
|
|
3213
|
-
{
|
|
3214
3007
|
if(_1 === ">=") {
|
|
3215
3008
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), "ff:core/Ordering.notBefore"), false)
|
|
3216
|
-
return
|
|
3217
|
-
}
|
|
3218
3009
|
}
|
|
3219
3010
|
{
|
|
3220
3011
|
const o_ = _1;
|
|
3221
3012
|
return ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), o_), false)
|
|
3222
|
-
return
|
|
3223
3013
|
}
|
|
3224
3014
|
}))(ff_compiler_Token.Token_raw(token_));
|
|
3225
3015
|
result_ = ff_compiler_Syntax.ECall(ff_compiler_Token.Token_at(token_), target_, effect_, [], arguments_, [])
|
|
@@ -3444,45 +3234,23 @@ return _w1.first_
|
|
|
3444
3234
|
|
|
3445
3235
|
export async function Parser_parseListPattern$(self_, $task) {
|
|
3446
3236
|
function convertListPattern_(at_, items_) {
|
|
3447
|
-
{
|
|
3448
3237
|
const at_a = at_;
|
|
3449
3238
|
const items_a = items_;
|
|
3450
|
-
{
|
|
3451
3239
|
if(items_a.length === 0) {
|
|
3452
3240
|
return ff_compiler_Syntax.PVariant(at_, "List$Empty", [])
|
|
3453
|
-
return
|
|
3454
3241
|
}
|
|
3455
|
-
|
|
3456
|
-
{
|
|
3457
|
-
if(items_a.length > 0) {
|
|
3242
|
+
if(items_a.length >= 1 && !items_a[0].second_) {
|
|
3458
3243
|
const p_ = items_a[0].first_;
|
|
3459
|
-
if(!items_a[0].second_) {
|
|
3460
3244
|
const ps_ = items_a.slice(1);
|
|
3461
3245
|
return ff_compiler_Syntax.PVariant(at_, "List$Link", [p_, convertListPattern_(at_, ps_)])
|
|
3462
|
-
return
|
|
3463
|
-
}
|
|
3464
3246
|
}
|
|
3465
|
-
|
|
3466
|
-
{
|
|
3467
|
-
if(items_a.length > 0) {
|
|
3247
|
+
if(items_a.length === 1 && items_a[0].second_) {
|
|
3468
3248
|
const p_ = items_a[0].first_;
|
|
3469
|
-
if(items_a[0].second_) {
|
|
3470
|
-
if(items_a.length === 1) {
|
|
3471
3249
|
return p_
|
|
3472
|
-
return
|
|
3473
|
-
}
|
|
3474
|
-
}
|
|
3475
|
-
}
|
|
3476
3250
|
}
|
|
3477
|
-
{
|
|
3478
|
-
if(items_a.length > 0) {
|
|
3251
|
+
if(items_a.length >= 1 && items_a[0].second_) {
|
|
3479
3252
|
const p_ = items_a[0].first_;
|
|
3480
|
-
if(items_a[0].second_) {
|
|
3481
3253
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(p_.at_, "Invalid pattern: ... is only allowed for the last element in a list"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
|
|
3482
|
-
return
|
|
3483
|
-
}
|
|
3484
|
-
}
|
|
3485
|
-
}
|
|
3486
3254
|
}
|
|
3487
3255
|
}
|
|
3488
3256
|
const items_ = ff_core_Array.make_();
|
|
@@ -3541,135 +3309,90 @@ return ff_core_Any.internalAnyTag_((("ff:compiler/Parser.ParsedTargets" + "[") +
|
|
|
3541
3309
|
|
|
3542
3310
|
export const ff_core_Show_Show$ff_compiler_Parser_Poly = {
|
|
3543
3311
|
show_(value_) {
|
|
3544
|
-
{
|
|
3545
3312
|
const value_a = value_;
|
|
3546
3313
|
{
|
|
3547
3314
|
const z_ = value_a;
|
|
3548
3315
|
return ((((("Poly" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_List_List(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.generics_)) + ", ") + ff_core_Show.ff_core_Show_Show$ff_core_List_List(ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_Constraint).show_(z_.constraints_)) + ")")
|
|
3549
|
-
return
|
|
3550
|
-
}
|
|
3551
3316
|
}
|
|
3552
3317
|
},
|
|
3553
3318
|
async show_$(value_, $task) {
|
|
3554
|
-
{
|
|
3555
3319
|
const value_a = value_;
|
|
3556
3320
|
{
|
|
3557
3321
|
const z_ = value_a;
|
|
3558
3322
|
return ((((("Poly" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_List_List(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.generics_)) + ", ") + ff_core_Show.ff_core_Show_Show$ff_core_List_List(ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_Constraint).show_(z_.constraints_)) + ")")
|
|
3559
|
-
return
|
|
3560
|
-
}
|
|
3561
3323
|
}
|
|
3562
3324
|
}
|
|
3563
3325
|
};
|
|
3564
3326
|
|
|
3565
3327
|
export const ff_core_Show_Show$ff_compiler_Parser_ParsedTargets = {
|
|
3566
3328
|
show_(value_) {
|
|
3567
|
-
{
|
|
3568
3329
|
const value_a = value_;
|
|
3569
3330
|
{
|
|
3570
3331
|
const z_ = value_a;
|
|
3571
3332
|
return ((((((((((((((((((("ParsedTargets" + "(") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_Lambda).show_(z_.js_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.jsSync_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.jsAsync_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_Lambda).show_(z_.browser_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.browserSync_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.browserAsync_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_Lambda).show_(z_.node_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.nodeSync_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.nodeAsync_)) + ")")
|
|
3572
|
-
return
|
|
3573
|
-
}
|
|
3574
3333
|
}
|
|
3575
3334
|
},
|
|
3576
3335
|
async show_$(value_, $task) {
|
|
3577
|
-
{
|
|
3578
3336
|
const value_a = value_;
|
|
3579
3337
|
{
|
|
3580
3338
|
const z_ = value_a;
|
|
3581
3339
|
return ((((((((((((((((((("ParsedTargets" + "(") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_Lambda).show_(z_.js_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.jsSync_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.jsAsync_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_Lambda).show_(z_.browser_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.browserSync_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.browserAsync_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_Lambda).show_(z_.node_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.nodeSync_)) + ", ") + ff_core_Option.ff_core_Show_Show$ff_core_Option_Option(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.nodeAsync_)) + ")")
|
|
3582
|
-
return
|
|
3583
|
-
}
|
|
3584
3340
|
}
|
|
3585
3341
|
}
|
|
3586
3342
|
};
|
|
3587
3343
|
|
|
3588
3344
|
export const ff_core_Equal_Equal$ff_compiler_Parser_Poly = {
|
|
3589
3345
|
equals_(x_, y_) {
|
|
3590
|
-
{
|
|
3591
3346
|
const x_a = x_;
|
|
3592
3347
|
const y_a = y_;
|
|
3593
|
-
{
|
|
3594
|
-
const _guard1 = (x_ === y_);
|
|
3595
|
-
if(_guard1) {
|
|
3348
|
+
if((x_ === y_)) {
|
|
3596
3349
|
return true
|
|
3597
|
-
return
|
|
3598
|
-
}
|
|
3599
3350
|
}
|
|
3600
3351
|
{
|
|
3601
3352
|
return (ff_core_List.ff_core_Equal_Equal$ff_core_List_List(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.generics_, y_.generics_) && ff_core_List.ff_core_Equal_Equal$ff_core_List_List(ff_compiler_Syntax.ff_core_Equal_Equal$ff_compiler_Syntax_Constraint).equals_(x_.constraints_, y_.constraints_))
|
|
3602
|
-
return
|
|
3603
|
-
}
|
|
3604
3353
|
}
|
|
3605
3354
|
},
|
|
3606
3355
|
async equals_$(x_, y_, $task) {
|
|
3607
|
-
{
|
|
3608
3356
|
const x_a = x_;
|
|
3609
3357
|
const y_a = y_;
|
|
3610
|
-
{
|
|
3611
|
-
const _guard1 = (x_ === y_);
|
|
3612
|
-
if(_guard1) {
|
|
3358
|
+
if((x_ === y_)) {
|
|
3613
3359
|
return true
|
|
3614
|
-
return
|
|
3615
|
-
}
|
|
3616
3360
|
}
|
|
3617
3361
|
{
|
|
3618
3362
|
return (ff_core_List.ff_core_Equal_Equal$ff_core_List_List(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.generics_, y_.generics_) && ff_core_List.ff_core_Equal_Equal$ff_core_List_List(ff_compiler_Syntax.ff_core_Equal_Equal$ff_compiler_Syntax_Constraint).equals_(x_.constraints_, y_.constraints_))
|
|
3619
|
-
return
|
|
3620
|
-
}
|
|
3621
3363
|
}
|
|
3622
3364
|
}
|
|
3623
3365
|
};
|
|
3624
3366
|
|
|
3625
3367
|
export const ff_core_Equal_Equal$ff_compiler_Parser_ParsedTargets = {
|
|
3626
3368
|
equals_(x_, y_) {
|
|
3627
|
-
{
|
|
3628
3369
|
const x_a = x_;
|
|
3629
3370
|
const y_a = y_;
|
|
3630
|
-
{
|
|
3631
|
-
const _guard1 = (x_ === y_);
|
|
3632
|
-
if(_guard1) {
|
|
3371
|
+
if((x_ === y_)) {
|
|
3633
3372
|
return true
|
|
3634
|
-
return
|
|
3635
|
-
}
|
|
3636
3373
|
}
|
|
3637
3374
|
{
|
|
3638
3375
|
return (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Equal_Equal$ff_compiler_Syntax_Lambda).equals_(x_.js_, y_.js_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.jsSync_, y_.jsSync_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.jsAsync_, y_.jsAsync_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Equal_Equal$ff_compiler_Syntax_Lambda).equals_(x_.browser_, y_.browser_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.browserSync_, y_.browserSync_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.browserAsync_, y_.browserAsync_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Equal_Equal$ff_compiler_Syntax_Lambda).equals_(x_.node_, y_.node_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.nodeSync_, y_.nodeSync_) && ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.nodeAsync_, y_.nodeAsync_)))))))))
|
|
3639
|
-
return
|
|
3640
|
-
}
|
|
3641
3376
|
}
|
|
3642
3377
|
},
|
|
3643
3378
|
async equals_$(x_, y_, $task) {
|
|
3644
|
-
{
|
|
3645
3379
|
const x_a = x_;
|
|
3646
3380
|
const y_a = y_;
|
|
3647
|
-
{
|
|
3648
|
-
const _guard1 = (x_ === y_);
|
|
3649
|
-
if(_guard1) {
|
|
3381
|
+
if((x_ === y_)) {
|
|
3650
3382
|
return true
|
|
3651
|
-
return
|
|
3652
|
-
}
|
|
3653
3383
|
}
|
|
3654
3384
|
{
|
|
3655
3385
|
return (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Equal_Equal$ff_compiler_Syntax_Lambda).equals_(x_.js_, y_.js_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.jsSync_, y_.jsSync_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.jsAsync_, y_.jsAsync_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Equal_Equal$ff_compiler_Syntax_Lambda).equals_(x_.browser_, y_.browser_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.browserSync_, y_.browserSync_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.browserAsync_, y_.browserAsync_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Equal_Equal$ff_compiler_Syntax_Lambda).equals_(x_.node_, y_.node_) && (ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.nodeSync_, y_.nodeSync_) && ff_core_Option.ff_core_Equal_Equal$ff_core_Option_Option(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.nodeAsync_, y_.nodeAsync_)))))))))
|
|
3656
|
-
return
|
|
3657
|
-
}
|
|
3658
3386
|
}
|
|
3659
3387
|
}
|
|
3660
3388
|
};
|
|
3661
3389
|
|
|
3662
3390
|
export const ff_core_Ordering_Order$ff_compiler_Parser_Poly = {
|
|
3663
3391
|
compare_(x_, y_) {
|
|
3664
|
-
{
|
|
3665
3392
|
const x_a = x_;
|
|
3666
3393
|
const y_a = y_;
|
|
3667
|
-
{
|
|
3668
|
-
const _guard1 = (x_ === y_);
|
|
3669
|
-
if(_guard1) {
|
|
3394
|
+
if((x_ === y_)) {
|
|
3670
3395
|
return ff_core_Ordering.OrderingSame()
|
|
3671
|
-
return
|
|
3672
|
-
}
|
|
3673
3396
|
}
|
|
3674
3397
|
{
|
|
3675
3398
|
const genericsOrdering_ = ff_core_Ordering.ff_core_Ordering_Order$ff_core_List_List(ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String).compare_(x_.generics_, y_.generics_);
|
|
@@ -3685,18 +3408,12 @@ return ff_core_Ordering.OrderingSame()
|
|
|
3685
3408
|
}
|
|
3686
3409
|
return
|
|
3687
3410
|
}
|
|
3688
|
-
}
|
|
3689
3411
|
},
|
|
3690
3412
|
async compare_$(x_, y_, $task) {
|
|
3691
|
-
{
|
|
3692
3413
|
const x_a = x_;
|
|
3693
3414
|
const y_a = y_;
|
|
3694
|
-
{
|
|
3695
|
-
const _guard1 = (x_ === y_);
|
|
3696
|
-
if(_guard1) {
|
|
3415
|
+
if((x_ === y_)) {
|
|
3697
3416
|
return ff_core_Ordering.OrderingSame()
|
|
3698
|
-
return
|
|
3699
|
-
}
|
|
3700
3417
|
}
|
|
3701
3418
|
{
|
|
3702
3419
|
const genericsOrdering_ = ff_core_Ordering.ff_core_Ordering_Order$ff_core_List_List(ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String).compare_(x_.generics_, y_.generics_);
|
|
@@ -3713,20 +3430,14 @@ return ff_core_Ordering.OrderingSame()
|
|
|
3713
3430
|
return
|
|
3714
3431
|
}
|
|
3715
3432
|
}
|
|
3716
|
-
}
|
|
3717
3433
|
};
|
|
3718
3434
|
|
|
3719
3435
|
export const ff_core_Ordering_Order$ff_compiler_Parser_ParsedTargets = {
|
|
3720
3436
|
compare_(x_, y_) {
|
|
3721
|
-
{
|
|
3722
3437
|
const x_a = x_;
|
|
3723
3438
|
const y_a = y_;
|
|
3724
|
-
{
|
|
3725
|
-
const _guard1 = (x_ === y_);
|
|
3726
|
-
if(_guard1) {
|
|
3439
|
+
if((x_ === y_)) {
|
|
3727
3440
|
return ff_core_Ordering.OrderingSame()
|
|
3728
|
-
return
|
|
3729
|
-
}
|
|
3730
3441
|
}
|
|
3731
3442
|
{
|
|
3732
3443
|
const jsOrdering_ = ff_core_Option.ff_core_Ordering_Order$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_Lambda).compare_(x_.js_, y_.js_);
|
|
@@ -3777,18 +3488,12 @@ return ff_core_Ordering.OrderingSame()
|
|
|
3777
3488
|
}
|
|
3778
3489
|
return
|
|
3779
3490
|
}
|
|
3780
|
-
}
|
|
3781
3491
|
},
|
|
3782
3492
|
async compare_$(x_, y_, $task) {
|
|
3783
|
-
{
|
|
3784
3493
|
const x_a = x_;
|
|
3785
3494
|
const y_a = y_;
|
|
3786
|
-
{
|
|
3787
|
-
const _guard1 = (x_ === y_);
|
|
3788
|
-
if(_guard1) {
|
|
3495
|
+
if((x_ === y_)) {
|
|
3789
3496
|
return ff_core_Ordering.OrderingSame()
|
|
3790
|
-
return
|
|
3791
|
-
}
|
|
3792
3497
|
}
|
|
3793
3498
|
{
|
|
3794
3499
|
const jsOrdering_ = ff_core_Option.ff_core_Ordering_Order$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_Lambda).compare_(x_.js_, y_.js_);
|
|
@@ -3840,12 +3545,10 @@ return ff_core_Ordering.OrderingSame()
|
|
|
3840
3545
|
return
|
|
3841
3546
|
}
|
|
3842
3547
|
}
|
|
3843
|
-
}
|
|
3844
3548
|
};
|
|
3845
3549
|
|
|
3846
3550
|
export const ff_core_Serializable_Serializable$ff_compiler_Parser_Poly = {
|
|
3847
3551
|
serializeUsing_(serialization_, value_) {
|
|
3848
|
-
{
|
|
3849
3552
|
const serialization_a = serialization_;
|
|
3850
3553
|
const value_a = value_;
|
|
3851
3554
|
{
|
|
@@ -3858,28 +3561,22 @@ ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core
|
|
|
3858
3561
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Constraint).serializeUsing_(serialization_, v_.constraints_)
|
|
3859
3562
|
return
|
|
3860
3563
|
}
|
|
3861
|
-
}
|
|
3862
3564
|
},
|
|
3863
3565
|
deserializeUsing_(serialization_) {
|
|
3864
3566
|
const variantIndex_ = ff_core_Buffer.Buffer_grabUint8(serialization_.buffer_, serialization_.offset_);
|
|
3865
3567
|
serialization_.offset_ += 1;
|
|
3866
3568
|
{
|
|
3867
3569
|
const _1 = variantIndex_;
|
|
3868
|
-
{
|
|
3869
3570
|
if(_1 === 0) {
|
|
3870
3571
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 23), 0);
|
|
3871
3572
|
return ff_compiler_Parser.Poly(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Constraint).deserializeUsing_(serialization_))
|
|
3872
|
-
return
|
|
3873
|
-
}
|
|
3874
3573
|
}
|
|
3875
3574
|
{
|
|
3876
3575
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_core_Serializable.DeserializationChecksumException(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException)})
|
|
3877
|
-
return
|
|
3878
3576
|
}
|
|
3879
3577
|
}
|
|
3880
3578
|
},
|
|
3881
3579
|
async serializeUsing_$(serialization_, value_, $task) {
|
|
3882
|
-
{
|
|
3883
3580
|
const serialization_a = serialization_;
|
|
3884
3581
|
const value_a = value_;
|
|
3885
3582
|
{
|
|
@@ -3892,23 +3589,18 @@ ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core
|
|
|
3892
3589
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Constraint).serializeUsing_(serialization_, v_.constraints_)
|
|
3893
3590
|
return
|
|
3894
3591
|
}
|
|
3895
|
-
}
|
|
3896
3592
|
},
|
|
3897
3593
|
async deserializeUsing_$(serialization_, $task) {
|
|
3898
3594
|
const variantIndex_ = ff_core_Buffer.Buffer_grabUint8(serialization_.buffer_, serialization_.offset_);
|
|
3899
3595
|
serialization_.offset_ += 1;
|
|
3900
3596
|
{
|
|
3901
3597
|
const _1 = variantIndex_;
|
|
3902
|
-
{
|
|
3903
3598
|
if(_1 === 0) {
|
|
3904
3599
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 23), 0);
|
|
3905
3600
|
return ff_compiler_Parser.Poly(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Constraint).deserializeUsing_(serialization_))
|
|
3906
|
-
return
|
|
3907
|
-
}
|
|
3908
3601
|
}
|
|
3909
3602
|
{
|
|
3910
3603
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_core_Serializable.DeserializationChecksumException(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException)})
|
|
3911
|
-
return
|
|
3912
3604
|
}
|
|
3913
3605
|
}
|
|
3914
3606
|
}
|
|
@@ -3916,7 +3608,6 @@ return
|
|
|
3916
3608
|
|
|
3917
3609
|
export const ff_core_Serializable_Serializable$ff_compiler_Parser_ParsedTargets = {
|
|
3918
3610
|
serializeUsing_(serialization_, value_) {
|
|
3919
|
-
{
|
|
3920
3611
|
const serialization_a = serialization_;
|
|
3921
3612
|
const value_a = value_;
|
|
3922
3613
|
{
|
|
@@ -3936,28 +3627,22 @@ ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_S
|
|
|
3936
3627
|
ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).serializeUsing_(serialization_, v_.nodeAsync_)
|
|
3937
3628
|
return
|
|
3938
3629
|
}
|
|
3939
|
-
}
|
|
3940
3630
|
},
|
|
3941
3631
|
deserializeUsing_(serialization_) {
|
|
3942
3632
|
const variantIndex_ = ff_core_Buffer.Buffer_grabUint8(serialization_.buffer_, serialization_.offset_);
|
|
3943
3633
|
serialization_.offset_ += 1;
|
|
3944
3634
|
{
|
|
3945
3635
|
const _1 = variantIndex_;
|
|
3946
|
-
{
|
|
3947
3636
|
if(_1 === 0) {
|
|
3948
3637
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 32), 0);
|
|
3949
3638
|
return ff_compiler_Parser.ParsedTargets(ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Lambda).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Lambda).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Lambda).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_))
|
|
3950
|
-
return
|
|
3951
|
-
}
|
|
3952
3639
|
}
|
|
3953
3640
|
{
|
|
3954
3641
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_core_Serializable.DeserializationChecksumException(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException)})
|
|
3955
|
-
return
|
|
3956
3642
|
}
|
|
3957
3643
|
}
|
|
3958
3644
|
},
|
|
3959
3645
|
async serializeUsing_$(serialization_, value_, $task) {
|
|
3960
|
-
{
|
|
3961
3646
|
const serialization_a = serialization_;
|
|
3962
3647
|
const value_a = value_;
|
|
3963
3648
|
{
|
|
@@ -3977,23 +3662,18 @@ ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_S
|
|
|
3977
3662
|
ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).serializeUsing_(serialization_, v_.nodeAsync_)
|
|
3978
3663
|
return
|
|
3979
3664
|
}
|
|
3980
|
-
}
|
|
3981
3665
|
},
|
|
3982
3666
|
async deserializeUsing_$(serialization_, $task) {
|
|
3983
3667
|
const variantIndex_ = ff_core_Buffer.Buffer_grabUint8(serialization_.buffer_, serialization_.offset_);
|
|
3984
3668
|
serialization_.offset_ += 1;
|
|
3985
3669
|
{
|
|
3986
3670
|
const _1 = variantIndex_;
|
|
3987
|
-
{
|
|
3988
3671
|
if(_1 === 0) {
|
|
3989
3672
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 32), 0);
|
|
3990
3673
|
return ff_compiler_Parser.ParsedTargets(ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Lambda).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Lambda).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_compiler_Syntax.ff_core_Serializable_Serializable$ff_compiler_Syntax_Lambda).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_), ff_core_Option.ff_core_Serializable_Serializable$ff_core_Option_Option(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_))
|
|
3991
|
-
return
|
|
3992
|
-
}
|
|
3993
3674
|
}
|
|
3994
3675
|
{
|
|
3995
3676
|
throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_core_Serializable.DeserializationChecksumException(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException)})
|
|
3996
|
-
return
|
|
3997
3677
|
}
|
|
3998
3678
|
}
|
|
3999
3679
|
}
|