firefly-compiler 0.5.35 → 0.5.37
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/.hintrc +4 -4
- package/.vscode/settings.json +4 -4
- package/bin/Release.ff +157 -154
- package/bin/firefly.mjs +1 -1
- package/compiler/Builder.ff +275 -277
- package/compiler/Compiler.ff +234 -233
- package/compiler/Dependencies.ff +186 -187
- package/compiler/DependencyLock.ff +17 -17
- package/compiler/Deriver.ff +23 -31
- package/compiler/Dictionaries.ff +1 -1
- package/compiler/Inference.ff +43 -20
- package/compiler/JsEmitter.ff +1437 -1282
- package/compiler/LspHook.ff +202 -202
- package/compiler/Main.ff +25 -24
- package/compiler/ModuleCache.ff +178 -178
- package/compiler/Parser.ff +36 -109
- package/compiler/Resolver.ff +5 -8
- package/compiler/Substitution.ff +1 -1
- package/compiler/Syntax.ff +1 -16
- package/compiler/Token.ff +9 -0
- package/compiler/Tokenizer.ff +4 -0
- package/compiler/Workspace.ff +88 -88
- package/core/.firefly/include/package.json +5 -5
- package/core/.firefly/package.ff +2 -2
- package/core/Any.ff +26 -30
- package/core/Array.ff +298 -265
- package/core/Atomic.ff +63 -64
- package/core/Box.ff +7 -7
- package/core/BrowserSystem.ff +40 -40
- package/core/Buffer.ff +185 -152
- package/core/BuildSystem.ff +156 -148
- package/core/Channel.ff +95 -92
- package/core/Char.ff +3 -2
- package/core/Core.ff +16 -23
- package/core/Crypto.ff +94 -96
- package/core/Equal.ff +41 -36
- package/core/Error.ff +15 -10
- package/core/FileHandle.ff +45 -37
- package/core/Float.ff +176 -200
- package/core/HttpClient.ff +142 -148
- package/core/Instant.ff +6 -8
- package/core/Int.ff +40 -24
- package/core/IntMap.ff +61 -39
- package/core/Js.ff +305 -0
- package/core/JsSystem.ff +135 -114
- package/core/JsValue.ff +303 -159
- package/core/Json.ff +423 -443
- package/core/List.ff +482 -486
- package/core/Lock.ff +108 -144
- package/core/Log.ff +25 -14
- package/core/NodeSystem.ff +198 -191
- package/core/Ordering.ff +160 -161
- package/core/Path.ff +377 -409
- package/core/Queue.ff +90 -0
- package/core/Random.ff +140 -134
- package/core/RbMap.ff +216 -216
- package/core/Serializable.ff +16 -13
- package/core/Show.ff +44 -43
- package/core/SourceLocation.ff +68 -68
- package/core/Stream.ff +1 -1
- package/core/String.ff +224 -202
- package/core/StringMap.ff +58 -36
- package/core/Task.ff +165 -149
- package/experimental/benchmarks/ListGrab.ff +23 -23
- package/experimental/benchmarks/ListGrab.java +55 -55
- package/experimental/benchmarks/Pyrotek45.ff +30 -30
- package/experimental/benchmarks/Pyrotek45.java +64 -64
- package/experimental/bidirectional/Bidi.ff +88 -88
- package/experimental/lines/Main.ff +40 -0
- package/experimental/random/Index.ff +53 -53
- package/experimental/random/Process.ff +120 -120
- package/experimental/random/RunLength.ff +65 -65
- package/experimental/random/Scrape.ff +51 -51
- package/experimental/random/Symbols.ff +73 -73
- package/experimental/random/Tensor.ff +52 -52
- package/experimental/random/Units.ff +36 -36
- package/experimental/s3/S3TestAuthorizationHeader.ff +39 -39
- package/experimental/s3/S3TestPut.ff +16 -16
- package/experimental/tests/TestJson.ff +26 -26
- package/firefly.sh +0 -0
- package/fireflysite/.firefly/package.ff +4 -4
- package/fireflysite/CommunityOverview.ff +20 -20
- package/fireflysite/CountingButtonDemo.ff +58 -58
- package/fireflysite/DocumentParser.ff +325 -331
- package/fireflysite/ExamplesOverview.ff +40 -40
- package/fireflysite/FrontPage.ff +344 -344
- package/fireflysite/GettingStarted.ff +45 -45
- package/fireflysite/Guide.ff +456 -456
- package/fireflysite/Main.ff +163 -152
- package/fireflysite/MatchingPasswordsDemo.ff +82 -82
- package/fireflysite/PackagesOverview.ff +49 -49
- package/fireflysite/PostgresqlDemo.ff +34 -34
- package/fireflysite/ReferenceAll.ff +18 -18
- package/fireflysite/ReferenceIntroduction.ff +11 -11
- package/fireflysite/Styles.ff +567 -567
- package/fireflysite/Test.ff +121 -62
- package/fireflysite/assets/markdown/reference/BaseTypes.md +209 -209
- package/fireflysite/assets/markdown/reference/EmittedJavascript.md +65 -65
- package/fireflysite/assets/markdown/reference/Exceptions.md +101 -101
- package/fireflysite/assets/markdown/reference/FunctionsAndMethods.md +364 -364
- package/fireflysite/assets/markdown/reference/JavascriptInterop.md +235 -172
- package/fireflysite/assets/markdown/reference/ModulesAndPackages.md +162 -162
- package/fireflysite/assets/markdown/reference/OldStructuredConcurrency.md +48 -48
- package/fireflysite/assets/markdown/reference/PatternMatching.md +224 -224
- package/fireflysite/assets/markdown/reference/StatementsAndExpressions.md +86 -86
- package/fireflysite/assets/markdown/reference/StructuredConcurrency.md +99 -99
- package/fireflysite/assets/markdown/reference/TraitsAndInstances.md +100 -100
- package/fireflysite/assets/markdown/reference/UserDefinedTypes.md +184 -184
- package/fireflysite/assets/markdown/scratch/ControlFlow.md +136 -136
- package/fireflysite/assets/markdown/scratch/Toc.md +40 -40
- package/lsp/.firefly/package.ff +1 -1
- package/lsp/CompletionHandler.ff +827 -827
- package/lsp/Handler.ff +714 -714
- package/lsp/HoverHandler.ff +79 -79
- package/lsp/LanguageServer.ff +272 -272
- package/lsp/SignatureHelpHandler.ff +55 -55
- package/lsp/SymbolHandler.ff +181 -181
- package/lsp/TestReferences.ff +17 -17
- package/lsp/TestReferencesCase.ff +7 -7
- package/lsp/stderr.txt +1 -1
- package/lsp/stdout.txt +34 -34
- package/lux/.firefly/package.ff +1 -1
- package/lux/Css.ff +648 -648
- package/lux/CssTest.ff +48 -48
- package/lux/Lux.ff +608 -617
- package/lux/LuxEvent.ff +79 -116
- package/lux/Main.ff +123 -123
- package/lux/Main2.ff +143 -143
- package/lux/TestDry.ff +28 -28
- package/output/js/ff/compiler/Builder.mjs +72 -71
- package/output/js/ff/compiler/Compiler.mjs +19 -13
- package/output/js/ff/compiler/Dependencies.mjs +8 -7
- package/output/js/ff/compiler/DependencyLock.mjs +6 -4
- package/output/js/ff/compiler/Deriver.mjs +26 -24
- package/output/js/ff/compiler/Dictionaries.mjs +14 -18
- package/output/js/ff/compiler/Environment.mjs +6 -4
- package/output/js/ff/compiler/Inference.mjs +238 -164
- package/output/js/ff/compiler/JsEmitter.mjs +1160 -350
- package/output/js/ff/compiler/JsImporter.mjs +20 -18
- package/output/js/ff/compiler/LspHook.mjs +12 -10
- package/output/js/ff/compiler/Main.mjs +61 -41
- package/output/js/ff/compiler/ModuleCache.mjs +10 -8
- package/output/js/ff/compiler/Parser.mjs +153 -669
- package/output/js/ff/compiler/Patterns.mjs +12 -10
- package/output/js/ff/compiler/Resolver.mjs +52 -78
- package/output/js/ff/compiler/Substitution.mjs +12 -16
- package/output/js/ff/compiler/Syntax.mjs +50 -341
- package/output/js/ff/compiler/Token.mjs +126 -4
- package/output/js/ff/compiler/Tokenizer.mjs +62 -52
- package/output/js/ff/compiler/Unification.mjs +74 -90
- package/output/js/ff/compiler/Wildcards.mjs +4 -2
- package/output/js/ff/compiler/Workspace.mjs +26 -20
- package/output/js/ff/core/Any.mjs +20 -20
- package/output/js/ff/core/Array.mjs +268 -175
- package/output/js/ff/core/AssetSystem.mjs +8 -6
- package/output/js/ff/core/Atomic.mjs +84 -52
- package/output/js/ff/core/Bool.mjs +6 -4
- package/output/js/ff/core/BrowserSystem.mjs +38 -29
- package/output/js/ff/core/Buffer.mjs +285 -133
- package/output/js/ff/core/BuildSystem.mjs +36 -56
- package/output/js/ff/core/Channel.mjs +250 -97
- package/output/js/ff/core/Char.mjs +5 -3
- package/output/js/ff/core/Core.mjs +28 -34
- package/output/js/ff/core/Crypto.mjs +30 -52
- package/output/js/ff/core/Duration.mjs +4 -2
- package/output/js/ff/core/Equal.mjs +14 -12
- package/output/js/ff/core/Error.mjs +17 -11
- package/output/js/ff/core/FileHandle.mjs +76 -38
- package/output/js/ff/core/Float.mjs +92 -160
- package/output/js/ff/core/HttpClient.mjs +208 -76
- package/output/js/ff/core/Instant.mjs +8 -10
- package/output/js/ff/core/Int.mjs +36 -26
- package/output/js/ff/core/IntMap.mjs +79 -33
- package/output/js/ff/core/Js.mjs +751 -0
- package/output/js/ff/core/JsSystem.mjs +54 -60
- package/output/js/ff/core/JsValue.mjs +294 -143
- package/output/js/ff/core/Json.mjs +443 -253
- package/output/js/ff/core/List.mjs +262 -214
- package/output/js/ff/core/Lock.mjs +156 -125
- package/output/js/ff/core/Log.mjs +20 -10
- package/output/js/ff/core/Map.mjs +10 -8
- package/output/js/ff/core/NodeSystem.mjs +189 -123
- package/output/js/ff/core/Nothing.mjs +4 -2
- package/output/js/ff/core/Option.mjs +40 -38
- package/output/js/ff/core/Ordering.mjs +26 -20
- package/output/js/ff/core/Pair.mjs +4 -2
- package/output/js/ff/core/Path.mjs +517 -315
- package/output/js/ff/core/Queue.mjs +306 -0
- package/output/js/ff/core/Random.mjs +141 -77
- package/output/js/ff/core/RbMap.mjs +36 -34
- package/output/js/ff/core/Serializable.mjs +44 -28
- package/output/js/ff/core/Set.mjs +6 -4
- package/output/js/ff/core/Show.mjs +8 -6
- package/output/js/ff/core/SourceLocation.mjs +4 -2
- package/output/js/ff/core/Stream.mjs +30 -50
- package/output/js/ff/core/String.mjs +263 -172
- package/output/js/ff/core/StringMap.mjs +77 -31
- package/output/js/ff/core/Task.mjs +91 -76
- package/output/js/ff/core/Try.mjs +20 -18
- package/output/js/ff/core/Unit.mjs +4 -2
- package/package.json +1 -1
- package/postgresql/Pg.ff +53 -59
- package/rpc/.firefly/package.ff +1 -1
- package/rpc/Rpc.ff +70 -70
- package/s3/.firefly/package.ff +1 -1
- package/s3/S3.ff +92 -94
- package/vscode/LICENSE.txt +21 -21
- package/vscode/Prepublish.ff +15 -15
- package/vscode/README.md +16 -16
- package/vscode/client/package-lock.json +544 -544
- package/vscode/client/package.json +22 -22
- package/vscode/client/src/extension.ts +104 -104
- package/vscode/icons/firefly-icon.svg +10 -10
- package/vscode/language-configuration.json +61 -61
- package/vscode/package-lock.json +3623 -3623
- package/vscode/package.json +1 -1
- package/vscode/snippets.json +241 -241
- package/vscode/syntaxes/firefly-markdown-injection.json +45 -45
- package/webserver/.firefly/include/package.json +5 -5
- package/webserver/.firefly/package.ff +2 -2
- package/webserver/WebServer.ff +647 -685
- package/websocket/.firefly/package.ff +1 -1
- package/websocket/WebSocket.ff +100 -131
- package/core/UnsafeJs.ff +0 -42
- package/output/js/ff/core/UnsafeJs.mjs +0 -191
|
@@ -44,6 +44,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
|
44
44
|
|
|
45
45
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
46
46
|
|
|
47
|
+
import * as ff_core_Js from "../../ff/core/Js.mjs"
|
|
48
|
+
|
|
47
49
|
import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
|
|
48
50
|
|
|
49
51
|
import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
|
|
@@ -70,6 +72,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
|
|
|
70
72
|
|
|
71
73
|
import * as ff_core_Path from "../../ff/core/Path.mjs"
|
|
72
74
|
|
|
75
|
+
import * as ff_core_Queue from "../../ff/core/Queue.mjs"
|
|
76
|
+
|
|
73
77
|
import * as ff_core_Random from "../../ff/core/Random.mjs"
|
|
74
78
|
|
|
75
79
|
import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
|
|
@@ -92,8 +96,6 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
|
|
|
92
96
|
|
|
93
97
|
import * as ff_core_Unit from "../../ff/core/Unit.mjs"
|
|
94
98
|
|
|
95
|
-
import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
|
|
96
|
-
|
|
97
99
|
// type Color
|
|
98
100
|
const R$ = {R: true};
|
|
99
101
|
export function R() {
|
|
@@ -134,13 +136,13 @@ return ff_core_RbMap.balance_(ins_(a_), y_, yv_, b_, ff_core_Ordering_Order$K)
|
|
|
134
136
|
if(_1.OrderingAfter) {
|
|
135
137
|
return ff_core_RbMap.balance_(a_, y_, yv_, ins_(b_), ff_core_Ordering_Order$K)
|
|
136
138
|
}
|
|
137
|
-
|
|
139
|
+
{
|
|
138
140
|
return ff_core_RbMap.T(ff_core_RbMap.B(), a_, x_, xv_, b_)
|
|
139
141
|
}
|
|
140
142
|
}
|
|
141
143
|
return
|
|
142
144
|
}
|
|
143
|
-
|
|
145
|
+
{
|
|
144
146
|
const a_ = s_a.left_;
|
|
145
147
|
const y_ = s_a.key_;
|
|
146
148
|
const yv_ = s_a.value_;
|
|
@@ -153,7 +155,7 @@ return ff_core_RbMap.T(ff_core_RbMap.R(), ins_(a_), y_, yv_, b_)
|
|
|
153
155
|
if(_1.OrderingAfter) {
|
|
154
156
|
return ff_core_RbMap.T(ff_core_RbMap.R(), a_, y_, yv_, ins_(b_))
|
|
155
157
|
}
|
|
156
|
-
|
|
158
|
+
{
|
|
157
159
|
return ff_core_RbMap.T(ff_core_RbMap.R(), a_, x_, xv_, b_)
|
|
158
160
|
}
|
|
159
161
|
}
|
|
@@ -165,7 +167,7 @@ const _1 = ins_(s_);
|
|
|
165
167
|
if(_1.E) {
|
|
166
168
|
return ff_core_Core.panic_("Unexpected empty tree")
|
|
167
169
|
}
|
|
168
|
-
|
|
170
|
+
{
|
|
169
171
|
const a_ = _1.left_;
|
|
170
172
|
const z_ = _1.key_;
|
|
171
173
|
const zv_ = _1.value_;
|
|
@@ -182,7 +184,7 @@ if(tree_a.E) {
|
|
|
182
184
|
const x_ = key_a;
|
|
183
185
|
return false
|
|
184
186
|
}
|
|
185
|
-
|
|
187
|
+
{
|
|
186
188
|
const x_ = key_a;
|
|
187
189
|
const a_ = tree_a.left_;
|
|
188
190
|
const y_ = tree_a.key_;
|
|
@@ -195,7 +197,7 @@ return ff_core_RbMap.member_(x_, a_, ff_core_Ordering_Order$K)
|
|
|
195
197
|
if(_1.OrderingAfter) {
|
|
196
198
|
return ff_core_RbMap.member_(x_, b_, ff_core_Ordering_Order$K)
|
|
197
199
|
}
|
|
198
|
-
|
|
200
|
+
{
|
|
199
201
|
return true
|
|
200
202
|
}
|
|
201
203
|
}
|
|
@@ -288,7 +290,7 @@ const ss_a = ss_;
|
|
|
288
290
|
if(ss_a.E) {
|
|
289
291
|
return ff_core_RbMap.E()
|
|
290
292
|
}
|
|
291
|
-
|
|
293
|
+
{
|
|
292
294
|
const a_ = ss_a.left_;
|
|
293
295
|
const y_ = ss_a.key_;
|
|
294
296
|
const yv_ = ss_a.value_;
|
|
@@ -301,7 +303,7 @@ return delformLeft_(a_, y_, yv_, b_)
|
|
|
301
303
|
if(_1.OrderingAfter) {
|
|
302
304
|
return delformRight_(a_, y_, yv_, b_)
|
|
303
305
|
}
|
|
304
|
-
|
|
306
|
+
{
|
|
305
307
|
return ff_core_RbMap.app_(a_, b_, ff_core_Ordering_Order$K)
|
|
306
308
|
}
|
|
307
309
|
}
|
|
@@ -530,7 +532,7 @@ const xv_ = tree2_a.value_;
|
|
|
530
532
|
const c_ = tree2_a.right_;
|
|
531
533
|
return ff_core_RbMap.T(ff_core_RbMap.R(), ff_core_RbMap.app_(a_, b_, ff_core_Ordering_Order$K), x_, xv_, c_)
|
|
532
534
|
}
|
|
533
|
-
|
|
535
|
+
{
|
|
534
536
|
const a_ = tree1_a.left_;
|
|
535
537
|
const x_ = tree1_a.key_;
|
|
536
538
|
const xv_ = tree1_a.value_;
|
|
@@ -559,13 +561,13 @@ return ff_core_RbMap.balance_(ins_(a_), y_, yv_, b_, ff_core_Ordering_Order$K)
|
|
|
559
561
|
if(_1.OrderingAfter) {
|
|
560
562
|
return ff_core_RbMap.balance_(a_, y_, yv_, ins_(b_), ff_core_Ordering_Order$K)
|
|
561
563
|
}
|
|
562
|
-
|
|
564
|
+
{
|
|
563
565
|
return ff_core_RbMap.T(ff_core_RbMap.B(), a_, x_, xv_, b_)
|
|
564
566
|
}
|
|
565
567
|
}
|
|
566
568
|
return
|
|
567
569
|
}
|
|
568
|
-
|
|
570
|
+
{
|
|
569
571
|
const a_ = s_a.left_;
|
|
570
572
|
const y_ = s_a.key_;
|
|
571
573
|
const yv_ = s_a.value_;
|
|
@@ -578,7 +580,7 @@ return ff_core_RbMap.T(ff_core_RbMap.R(), ins_(a_), y_, yv_, b_)
|
|
|
578
580
|
if(_1.OrderingAfter) {
|
|
579
581
|
return ff_core_RbMap.T(ff_core_RbMap.R(), a_, y_, yv_, ins_(b_))
|
|
580
582
|
}
|
|
581
|
-
|
|
583
|
+
{
|
|
582
584
|
return ff_core_RbMap.T(ff_core_RbMap.R(), a_, x_, xv_, b_)
|
|
583
585
|
}
|
|
584
586
|
}
|
|
@@ -590,7 +592,7 @@ const _1 = ins_(s_);
|
|
|
590
592
|
if(_1.E) {
|
|
591
593
|
return ff_core_Core.panic_("Unexpected empty tree")
|
|
592
594
|
}
|
|
593
|
-
|
|
595
|
+
{
|
|
594
596
|
const a_ = _1.left_;
|
|
595
597
|
const z_ = _1.key_;
|
|
596
598
|
const zv_ = _1.value_;
|
|
@@ -607,7 +609,7 @@ if(tree_a.E) {
|
|
|
607
609
|
const x_ = key_a;
|
|
608
610
|
return false
|
|
609
611
|
}
|
|
610
|
-
|
|
612
|
+
{
|
|
611
613
|
const x_ = key_a;
|
|
612
614
|
const a_ = tree_a.left_;
|
|
613
615
|
const y_ = tree_a.key_;
|
|
@@ -620,7 +622,7 @@ return ff_core_RbMap.member_(x_, a_, ff_core_Ordering_Order$K)
|
|
|
620
622
|
if(_1.OrderingAfter) {
|
|
621
623
|
return ff_core_RbMap.member_(x_, b_, ff_core_Ordering_Order$K)
|
|
622
624
|
}
|
|
623
|
-
|
|
625
|
+
{
|
|
624
626
|
return true
|
|
625
627
|
}
|
|
626
628
|
}
|
|
@@ -713,7 +715,7 @@ const ss_a = ss_;
|
|
|
713
715
|
if(ss_a.E) {
|
|
714
716
|
return ff_core_RbMap.E()
|
|
715
717
|
}
|
|
716
|
-
|
|
718
|
+
{
|
|
717
719
|
const a_ = ss_a.left_;
|
|
718
720
|
const y_ = ss_a.key_;
|
|
719
721
|
const yv_ = ss_a.value_;
|
|
@@ -726,7 +728,7 @@ return delformLeft_(a_, y_, yv_, b_)
|
|
|
726
728
|
if(_1.OrderingAfter) {
|
|
727
729
|
return delformRight_(a_, y_, yv_, b_)
|
|
728
730
|
}
|
|
729
|
-
|
|
731
|
+
{
|
|
730
732
|
return ff_core_RbMap.app_(a_, b_, ff_core_Ordering_Order$K)
|
|
731
733
|
}
|
|
732
734
|
}
|
|
@@ -955,7 +957,7 @@ const xv_ = tree2_a.value_;
|
|
|
955
957
|
const c_ = tree2_a.right_;
|
|
956
958
|
return ff_core_RbMap.T(ff_core_RbMap.R(), ff_core_RbMap.app_(a_, b_, ff_core_Ordering_Order$K), x_, xv_, c_)
|
|
957
959
|
}
|
|
958
|
-
|
|
960
|
+
{
|
|
959
961
|
const a_ = tree1_a.left_;
|
|
960
962
|
const x_ = tree1_a.key_;
|
|
961
963
|
const xv_ = tree1_a.value_;
|
|
@@ -971,7 +973,7 @@ const _1 = self_;
|
|
|
971
973
|
if(_1.E) {
|
|
972
974
|
return ff_core_Option.None()
|
|
973
975
|
}
|
|
974
|
-
|
|
976
|
+
{
|
|
975
977
|
const a_ = _1.left_;
|
|
976
978
|
const y_ = _1.key_;
|
|
977
979
|
const yv_ = _1.value_;
|
|
@@ -984,7 +986,7 @@ return ff_core_RbMap.RB_get(a_, key_, ff_core_Ordering_Order$K)
|
|
|
984
986
|
if(_1.OrderingAfter) {
|
|
985
987
|
return ff_core_RbMap.RB_get(b_, key_, ff_core_Ordering_Order$K)
|
|
986
988
|
}
|
|
987
|
-
|
|
989
|
+
{
|
|
988
990
|
return ff_core_Option.Some(yv_)
|
|
989
991
|
}
|
|
990
992
|
}
|
|
@@ -999,7 +1001,7 @@ const _1 = self_;
|
|
|
999
1001
|
if(_1.E) {
|
|
1000
1002
|
return 0
|
|
1001
1003
|
}
|
|
1002
|
-
|
|
1004
|
+
{
|
|
1003
1005
|
const l_ = _1.left_;
|
|
1004
1006
|
const r_ = _1.right_;
|
|
1005
1007
|
return ((ff_core_RbMap.RB_size(l_, ff_core_Ordering_Order$K) + 1) + ff_core_RbMap.RB_size(r_, ff_core_Ordering_Order$K))
|
|
@@ -1058,7 +1060,7 @@ const tail_ = _1.slice(1);
|
|
|
1058
1060
|
array_ = tail_;
|
|
1059
1061
|
return ff_core_Option.Some(ff_core_Pair.Pair(k_, v_))
|
|
1060
1062
|
}
|
|
1061
|
-
|
|
1063
|
+
{
|
|
1062
1064
|
const l_ = _1[0].left_;
|
|
1063
1065
|
const k_ = _1[0].key_;
|
|
1064
1066
|
const v_ = _1[0].value_;
|
|
@@ -1090,7 +1092,7 @@ if(_1.E) {
|
|
|
1090
1092
|
|
|
1091
1093
|
return
|
|
1092
1094
|
}
|
|
1093
|
-
|
|
1095
|
+
{
|
|
1094
1096
|
const l_ = _1.left_;
|
|
1095
1097
|
const k_ = _1.key_;
|
|
1096
1098
|
const v_ = _1.value_;
|
|
@@ -1109,7 +1111,7 @@ const _1 = self_;
|
|
|
1109
1111
|
if(_1.E) {
|
|
1110
1112
|
return true
|
|
1111
1113
|
}
|
|
1112
|
-
|
|
1114
|
+
{
|
|
1113
1115
|
const l_ = _1.left_;
|
|
1114
1116
|
const k_ = _1.key_;
|
|
1115
1117
|
const v_ = _1.value_;
|
|
@@ -1134,7 +1136,7 @@ const _1 = self_;
|
|
|
1134
1136
|
if(_1.E) {
|
|
1135
1137
|
return ff_core_RbMap.E()
|
|
1136
1138
|
}
|
|
1137
|
-
|
|
1139
|
+
{
|
|
1138
1140
|
const c_ = _1.color_;
|
|
1139
1141
|
const l_ = _1.left_;
|
|
1140
1142
|
const k_ = _1.key_;
|
|
@@ -1164,7 +1166,7 @@ const _1 = self_;
|
|
|
1164
1166
|
if(_1.E) {
|
|
1165
1167
|
return ff_core_Option.None()
|
|
1166
1168
|
}
|
|
1167
|
-
|
|
1169
|
+
{
|
|
1168
1170
|
const a_ = _1.left_;
|
|
1169
1171
|
const y_ = _1.key_;
|
|
1170
1172
|
const yv_ = _1.value_;
|
|
@@ -1177,7 +1179,7 @@ return ff_core_RbMap.RB_get(a_, key_, ff_core_Ordering_Order$K)
|
|
|
1177
1179
|
if(_1.OrderingAfter) {
|
|
1178
1180
|
return ff_core_RbMap.RB_get(b_, key_, ff_core_Ordering_Order$K)
|
|
1179
1181
|
}
|
|
1180
|
-
|
|
1182
|
+
{
|
|
1181
1183
|
return ff_core_Option.Some(yv_)
|
|
1182
1184
|
}
|
|
1183
1185
|
}
|
|
@@ -1192,7 +1194,7 @@ const _1 = self_;
|
|
|
1192
1194
|
if(_1.E) {
|
|
1193
1195
|
return 0
|
|
1194
1196
|
}
|
|
1195
|
-
|
|
1197
|
+
{
|
|
1196
1198
|
const l_ = _1.left_;
|
|
1197
1199
|
const r_ = _1.right_;
|
|
1198
1200
|
return ((ff_core_RbMap.RB_size(l_, ff_core_Ordering_Order$K) + 1) + ff_core_RbMap.RB_size(r_, ff_core_Ordering_Order$K))
|
|
@@ -1251,7 +1253,7 @@ const tail_ = _1.slice(1);
|
|
|
1251
1253
|
array_ = tail_;
|
|
1252
1254
|
return ff_core_Option.Some(ff_core_Pair.Pair(k_, v_))
|
|
1253
1255
|
}
|
|
1254
|
-
|
|
1256
|
+
{
|
|
1255
1257
|
const l_ = _1[0].left_;
|
|
1256
1258
|
const k_ = _1[0].key_;
|
|
1257
1259
|
const v_ = _1[0].value_;
|
|
@@ -1283,7 +1285,7 @@ if(_1.E) {
|
|
|
1283
1285
|
|
|
1284
1286
|
return
|
|
1285
1287
|
}
|
|
1286
|
-
|
|
1288
|
+
{
|
|
1287
1289
|
const l_ = _1.left_;
|
|
1288
1290
|
const k_ = _1.key_;
|
|
1289
1291
|
const v_ = _1.value_;
|
|
@@ -1302,7 +1304,7 @@ const _1 = self_;
|
|
|
1302
1304
|
if(_1.E) {
|
|
1303
1305
|
return true
|
|
1304
1306
|
}
|
|
1305
|
-
|
|
1307
|
+
{
|
|
1306
1308
|
const l_ = _1.left_;
|
|
1307
1309
|
const k_ = _1.key_;
|
|
1308
1310
|
const v_ = _1.value_;
|
|
@@ -1327,7 +1329,7 @@ const _1 = self_;
|
|
|
1327
1329
|
if(_1.E) {
|
|
1328
1330
|
return ff_core_RbMap.E()
|
|
1329
1331
|
}
|
|
1330
|
-
|
|
1332
|
+
{
|
|
1331
1333
|
const c_ = _1.color_;
|
|
1332
1334
|
const l_ = _1.left_;
|
|
1333
1335
|
const k_ = _1.key_;
|
|
@@ -42,6 +42,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
|
42
42
|
|
|
43
43
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
44
44
|
|
|
45
|
+
import * as ff_core_Js from "../../ff/core/Js.mjs"
|
|
46
|
+
|
|
45
47
|
import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
|
|
46
48
|
|
|
47
49
|
import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
|
|
@@ -68,6 +70,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
|
|
|
68
70
|
|
|
69
71
|
import * as ff_core_Path from "../../ff/core/Path.mjs"
|
|
70
72
|
|
|
73
|
+
import * as ff_core_Queue from "../../ff/core/Queue.mjs"
|
|
74
|
+
|
|
71
75
|
import * as ff_core_Random from "../../ff/core/Random.mjs"
|
|
72
76
|
|
|
73
77
|
import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
|
|
@@ -90,8 +94,6 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
|
|
|
90
94
|
|
|
91
95
|
import * as ff_core_Unit from "../../ff/core/Unit.mjs"
|
|
92
96
|
|
|
93
|
-
import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
|
|
94
|
-
|
|
95
97
|
// type DeserializationChecksumException
|
|
96
98
|
const DeserializationChecksumException$ = {DeserializationChecksumException: true};
|
|
97
99
|
export function DeserializationChecksumException() {
|
|
@@ -125,21 +127,23 @@ return result_
|
|
|
125
127
|
}
|
|
126
128
|
|
|
127
129
|
export function internalSetLatin1_(self_, byteOffset_, value_) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
130
|
+
let result_ = true;
|
|
131
|
+
for(let for_i = 0, for_e = value_.length; for_i < for_e; for_i++) {
|
|
132
|
+
const i_ = for_i;
|
|
133
|
+
const charCode_ = value_.charCodeAt(i_);
|
|
134
|
+
if((charCode_ >= 256)) {
|
|
135
|
+
result_ = false
|
|
136
|
+
} else {
|
|
137
|
+
self_.setUint8((byteOffset_ + i_), charCode_)
|
|
138
|
+
};
|
|
139
|
+
if(!result_) break
|
|
140
|
+
};
|
|
141
|
+
return result_
|
|
136
142
|
}
|
|
137
143
|
|
|
138
144
|
export function internalGrabLatin1_(self_, byteOffset_, size_) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
return String.fromCharCode.apply(null, codeUnits)
|
|
142
|
-
|
|
145
|
+
const codeUnits_ = (new Uint8Array(self_.buffer, (self_.byteOffset + byteOffset_), size_));
|
|
146
|
+
return String.fromCharCode.apply(null, codeUnits_)
|
|
143
147
|
}
|
|
144
148
|
|
|
145
149
|
export async function serialize_$(value_, initialBufferSize_ = 1024, ff_core_Serializable_Serializable$T, $task) {
|
|
@@ -162,11 +166,23 @@ return result_
|
|
|
162
166
|
}
|
|
163
167
|
|
|
164
168
|
export async function internalSetLatin1_$(self_, byteOffset_, value_, $task) {
|
|
165
|
-
|
|
169
|
+
let result_ = true;
|
|
170
|
+
for(let for_i = 0, for_e = value_.length; for_i < for_e; for_i++) {
|
|
171
|
+
const i_ = for_i;
|
|
172
|
+
const charCode_ = value_.charCodeAt(i_);
|
|
173
|
+
if((charCode_ >= 256)) {
|
|
174
|
+
result_ = false
|
|
175
|
+
} else {
|
|
176
|
+
self_.setUint8((byteOffset_ + i_), charCode_)
|
|
177
|
+
};
|
|
178
|
+
if(!result_) break
|
|
179
|
+
};
|
|
180
|
+
return result_
|
|
166
181
|
}
|
|
167
182
|
|
|
168
183
|
export async function internalGrabLatin1_$(self_, byteOffset_, size_, $task) {
|
|
169
|
-
|
|
184
|
+
const codeUnits_ = (new Uint8Array(self_.buffer, (self_.byteOffset + byteOffset_), size_));
|
|
185
|
+
return String.fromCharCode.apply(null, codeUnits_)
|
|
170
186
|
}
|
|
171
187
|
|
|
172
188
|
export function Serialization_autoResize(self_, minSpareCapacity_) {
|
|
@@ -251,7 +267,7 @@ serialization_.offset_ += (1 + 4)
|
|
|
251
267
|
} else {
|
|
252
268
|
ff_core_Core.panic_("Can't serialize arrays where size() >= 1073741824")
|
|
253
269
|
};
|
|
254
|
-
for(let
|
|
270
|
+
for(let for_a = value_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
255
271
|
const _w1 = for_a[for_i];
|
|
256
272
|
ff_core_Serializable_Serializable$T.serializeUsing_(serialization_, _w1)
|
|
257
273
|
}
|
|
@@ -294,7 +310,7 @@ serialization_.offset_ += (1 + 4)
|
|
|
294
310
|
} else {
|
|
295
311
|
ff_core_Core.panic_("Can't serialize arrays where size() >= 1073741824")
|
|
296
312
|
};
|
|
297
|
-
for(let
|
|
313
|
+
for(let for_a = value_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
298
314
|
const _w1 = for_a[for_i];
|
|
299
315
|
ff_core_Serializable_Serializable$T.serializeUsing_(serialization_, _w1)
|
|
300
316
|
}
|
|
@@ -358,11 +374,11 @@ return ff_core_List.List_toMap(ff_core_Serializable.ff_core_Serializable_Seriali
|
|
|
358
374
|
|
|
359
375
|
export const ff_core_Serializable_Serializable$ff_core_String_String = {
|
|
360
376
|
serializeUsing_(serialization_, value_) {
|
|
361
|
-
ff_core_Serializable.Serialization_autoResize(serialization_, (1 +
|
|
362
|
-
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_,
|
|
363
|
-
if(((
|
|
364
|
-
serialization_.offset_ += (1 +
|
|
365
|
-
} else if((
|
|
377
|
+
ff_core_Serializable.Serialization_autoResize(serialization_, (1 + value_.length));
|
|
378
|
+
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, value_.length);
|
|
379
|
+
if(((value_.length < 255) && ff_core_Serializable.internalSetLatin1_(serialization_.buffer_, (serialization_.offset_ + 1), value_))) {
|
|
380
|
+
serialization_.offset_ += (1 + value_.length)
|
|
381
|
+
} else if((value_.length < 1073741824)) {
|
|
366
382
|
const stringBuffer_ = ff_core_String.String_toBuffer(value_);
|
|
367
383
|
ff_core_Serializable.Serialization_autoResize(serialization_, (5 + ff_core_Buffer.Buffer_size(stringBuffer_)));
|
|
368
384
|
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 255);
|
|
@@ -387,11 +403,11 @@ return ff_core_Buffer.Buffer_toString(stringBuffer_, "utf8")
|
|
|
387
403
|
}
|
|
388
404
|
},
|
|
389
405
|
async serializeUsing_$(serialization_, value_, $task) {
|
|
390
|
-
ff_core_Serializable.Serialization_autoResize(serialization_, (1 +
|
|
391
|
-
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_,
|
|
392
|
-
if(((
|
|
393
|
-
serialization_.offset_ += (1 +
|
|
394
|
-
} else if((
|
|
406
|
+
ff_core_Serializable.Serialization_autoResize(serialization_, (1 + value_.length));
|
|
407
|
+
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, value_.length);
|
|
408
|
+
if(((value_.length < 255) && ff_core_Serializable.internalSetLatin1_(serialization_.buffer_, (serialization_.offset_ + 1), value_))) {
|
|
409
|
+
serialization_.offset_ += (1 + value_.length)
|
|
410
|
+
} else if((value_.length < 1073741824)) {
|
|
395
411
|
const stringBuffer_ = ff_core_String.String_toBuffer(value_);
|
|
396
412
|
ff_core_Serializable.Serialization_autoResize(serialization_, (5 + ff_core_Buffer.Buffer_size(stringBuffer_)));
|
|
397
413
|
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 255);
|
|
@@ -42,6 +42,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
|
42
42
|
|
|
43
43
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
44
44
|
|
|
45
|
+
import * as ff_core_Js from "../../ff/core/Js.mjs"
|
|
46
|
+
|
|
45
47
|
import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
|
|
46
48
|
|
|
47
49
|
import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
|
|
@@ -68,6 +70,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
|
|
|
68
70
|
|
|
69
71
|
import * as ff_core_Path from "../../ff/core/Path.mjs"
|
|
70
72
|
|
|
73
|
+
import * as ff_core_Queue from "../../ff/core/Queue.mjs"
|
|
74
|
+
|
|
71
75
|
import * as ff_core_Random from "../../ff/core/Random.mjs"
|
|
72
76
|
|
|
73
77
|
import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
|
|
@@ -90,8 +94,6 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
|
|
|
90
94
|
|
|
91
95
|
import * as ff_core_Unit from "../../ff/core/Unit.mjs"
|
|
92
96
|
|
|
93
|
-
import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
|
|
94
|
-
|
|
95
97
|
// newtype Set
|
|
96
98
|
|
|
97
99
|
|
|
@@ -114,7 +116,7 @@ return ff_core_Map.Map_addAll(self_, that_, ff_core_Ordering_Order$T)
|
|
|
114
116
|
|
|
115
117
|
export function Set_addList(self_, that_, ff_core_Ordering_Order$T) {
|
|
116
118
|
let result_ = self_;
|
|
117
|
-
for(let
|
|
119
|
+
for(let for_a = that_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
118
120
|
const k_ = for_a[for_i];
|
|
119
121
|
result_ = ff_core_Map.Map_add(result_, k_, (void 0), ff_core_Ordering_Order$T)
|
|
120
122
|
};
|
|
@@ -179,7 +181,7 @@ return ff_core_Map.Map_addAll(self_, that_, ff_core_Ordering_Order$T)
|
|
|
179
181
|
|
|
180
182
|
export async function Set_addList$(self_, that_, ff_core_Ordering_Order$T, $task) {
|
|
181
183
|
let result_ = self_;
|
|
182
|
-
for(let
|
|
184
|
+
for(let for_a = that_, for_i = 0, for_l = for_a.length; for_i < for_l; for_i++) {
|
|
183
185
|
const k_ = for_a[for_i];
|
|
184
186
|
result_ = ff_core_Map.Map_add(result_, k_, (void 0), ff_core_Ordering_Order$T)
|
|
185
187
|
};
|
|
@@ -42,6 +42,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
|
42
42
|
|
|
43
43
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
44
44
|
|
|
45
|
+
import * as ff_core_Js from "../../ff/core/Js.mjs"
|
|
46
|
+
|
|
45
47
|
import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
|
|
46
48
|
|
|
47
49
|
import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
|
|
@@ -68,6 +70,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
|
|
|
68
70
|
|
|
69
71
|
import * as ff_core_Path from "../../ff/core/Path.mjs"
|
|
70
72
|
|
|
73
|
+
import * as ff_core_Queue from "../../ff/core/Queue.mjs"
|
|
74
|
+
|
|
71
75
|
import * as ff_core_Random from "../../ff/core/Random.mjs"
|
|
72
76
|
|
|
73
77
|
import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
|
|
@@ -90,8 +94,6 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
|
|
|
90
94
|
|
|
91
95
|
import * as ff_core_Unit from "../../ff/core/Unit.mjs"
|
|
92
96
|
|
|
93
|
-
import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
|
|
94
|
-
|
|
95
97
|
|
|
96
98
|
|
|
97
99
|
|
|
@@ -108,7 +110,7 @@ const value_a = value_;
|
|
|
108
110
|
if(!value_a) {
|
|
109
111
|
return "False"
|
|
110
112
|
}
|
|
111
|
-
|
|
113
|
+
{
|
|
112
114
|
return "True"
|
|
113
115
|
}
|
|
114
116
|
},
|
|
@@ -117,7 +119,7 @@ const value_a = value_;
|
|
|
117
119
|
if(!value_a) {
|
|
118
120
|
return "False"
|
|
119
121
|
}
|
|
120
|
-
|
|
122
|
+
{
|
|
121
123
|
return "True"
|
|
122
124
|
}
|
|
123
125
|
}
|
|
@@ -161,10 +163,10 @@ return ("" + value_)
|
|
|
161
163
|
|
|
162
164
|
export const ff_core_Show_Show$ff_core_String_String = {
|
|
163
165
|
show_(value_) {
|
|
164
|
-
return JSON.stringify(value_)
|
|
166
|
+
return JSON.stringify(value_)
|
|
165
167
|
},
|
|
166
168
|
async show_$(value_, $task) {
|
|
167
|
-
|
|
169
|
+
return JSON.stringify(value_)
|
|
168
170
|
}
|
|
169
171
|
};
|
|
170
172
|
|
|
@@ -42,6 +42,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
|
42
42
|
|
|
43
43
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
44
44
|
|
|
45
|
+
import * as ff_core_Js from "../../ff/core/Js.mjs"
|
|
46
|
+
|
|
45
47
|
import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
|
|
46
48
|
|
|
47
49
|
import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
|
|
@@ -68,6 +70,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
|
|
|
68
70
|
|
|
69
71
|
import * as ff_core_Path from "../../ff/core/Path.mjs"
|
|
70
72
|
|
|
73
|
+
import * as ff_core_Queue from "../../ff/core/Queue.mjs"
|
|
74
|
+
|
|
71
75
|
import * as ff_core_Random from "../../ff/core/Random.mjs"
|
|
72
76
|
|
|
73
77
|
import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
|
|
@@ -90,8 +94,6 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
|
|
|
90
94
|
|
|
91
95
|
import * as ff_core_Unit from "../../ff/core/Unit.mjs"
|
|
92
96
|
|
|
93
|
-
import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
|
|
94
|
-
|
|
95
97
|
// newtype SourceLocation
|
|
96
98
|
|
|
97
99
|
|