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.
Files changed (225) hide show
  1. package/.hintrc +4 -4
  2. package/.vscode/settings.json +4 -4
  3. package/bin/Release.ff +157 -154
  4. package/bin/firefly.mjs +1 -1
  5. package/compiler/Builder.ff +275 -277
  6. package/compiler/Compiler.ff +234 -233
  7. package/compiler/Dependencies.ff +186 -187
  8. package/compiler/DependencyLock.ff +17 -17
  9. package/compiler/Deriver.ff +23 -31
  10. package/compiler/Dictionaries.ff +1 -1
  11. package/compiler/Inference.ff +43 -20
  12. package/compiler/JsEmitter.ff +1437 -1282
  13. package/compiler/LspHook.ff +202 -202
  14. package/compiler/Main.ff +25 -24
  15. package/compiler/ModuleCache.ff +178 -178
  16. package/compiler/Parser.ff +36 -109
  17. package/compiler/Resolver.ff +5 -8
  18. package/compiler/Substitution.ff +1 -1
  19. package/compiler/Syntax.ff +1 -16
  20. package/compiler/Token.ff +9 -0
  21. package/compiler/Tokenizer.ff +4 -0
  22. package/compiler/Workspace.ff +88 -88
  23. package/core/.firefly/include/package.json +5 -5
  24. package/core/.firefly/package.ff +2 -2
  25. package/core/Any.ff +26 -30
  26. package/core/Array.ff +298 -265
  27. package/core/Atomic.ff +63 -64
  28. package/core/Box.ff +7 -7
  29. package/core/BrowserSystem.ff +40 -40
  30. package/core/Buffer.ff +185 -152
  31. package/core/BuildSystem.ff +156 -148
  32. package/core/Channel.ff +95 -92
  33. package/core/Char.ff +3 -2
  34. package/core/Core.ff +16 -23
  35. package/core/Crypto.ff +94 -96
  36. package/core/Equal.ff +41 -36
  37. package/core/Error.ff +15 -10
  38. package/core/FileHandle.ff +45 -37
  39. package/core/Float.ff +176 -200
  40. package/core/HttpClient.ff +142 -148
  41. package/core/Instant.ff +6 -8
  42. package/core/Int.ff +40 -24
  43. package/core/IntMap.ff +61 -39
  44. package/core/Js.ff +305 -0
  45. package/core/JsSystem.ff +135 -114
  46. package/core/JsValue.ff +303 -159
  47. package/core/Json.ff +423 -443
  48. package/core/List.ff +482 -486
  49. package/core/Lock.ff +108 -144
  50. package/core/Log.ff +25 -14
  51. package/core/NodeSystem.ff +198 -191
  52. package/core/Ordering.ff +160 -161
  53. package/core/Path.ff +377 -409
  54. package/core/Queue.ff +90 -0
  55. package/core/Random.ff +140 -134
  56. package/core/RbMap.ff +216 -216
  57. package/core/Serializable.ff +16 -13
  58. package/core/Show.ff +44 -43
  59. package/core/SourceLocation.ff +68 -68
  60. package/core/Stream.ff +1 -1
  61. package/core/String.ff +224 -202
  62. package/core/StringMap.ff +58 -36
  63. package/core/Task.ff +165 -149
  64. package/experimental/benchmarks/ListGrab.ff +23 -23
  65. package/experimental/benchmarks/ListGrab.java +55 -55
  66. package/experimental/benchmarks/Pyrotek45.ff +30 -30
  67. package/experimental/benchmarks/Pyrotek45.java +64 -64
  68. package/experimental/bidirectional/Bidi.ff +88 -88
  69. package/experimental/lines/Main.ff +40 -0
  70. package/experimental/random/Index.ff +53 -53
  71. package/experimental/random/Process.ff +120 -120
  72. package/experimental/random/RunLength.ff +65 -65
  73. package/experimental/random/Scrape.ff +51 -51
  74. package/experimental/random/Symbols.ff +73 -73
  75. package/experimental/random/Tensor.ff +52 -52
  76. package/experimental/random/Units.ff +36 -36
  77. package/experimental/s3/S3TestAuthorizationHeader.ff +39 -39
  78. package/experimental/s3/S3TestPut.ff +16 -16
  79. package/experimental/tests/TestJson.ff +26 -26
  80. package/firefly.sh +0 -0
  81. package/fireflysite/.firefly/package.ff +4 -4
  82. package/fireflysite/CommunityOverview.ff +20 -20
  83. package/fireflysite/CountingButtonDemo.ff +58 -58
  84. package/fireflysite/DocumentParser.ff +325 -331
  85. package/fireflysite/ExamplesOverview.ff +40 -40
  86. package/fireflysite/FrontPage.ff +344 -344
  87. package/fireflysite/GettingStarted.ff +45 -45
  88. package/fireflysite/Guide.ff +456 -456
  89. package/fireflysite/Main.ff +163 -152
  90. package/fireflysite/MatchingPasswordsDemo.ff +82 -82
  91. package/fireflysite/PackagesOverview.ff +49 -49
  92. package/fireflysite/PostgresqlDemo.ff +34 -34
  93. package/fireflysite/ReferenceAll.ff +18 -18
  94. package/fireflysite/ReferenceIntroduction.ff +11 -11
  95. package/fireflysite/Styles.ff +567 -567
  96. package/fireflysite/Test.ff +121 -62
  97. package/fireflysite/assets/markdown/reference/BaseTypes.md +209 -209
  98. package/fireflysite/assets/markdown/reference/EmittedJavascript.md +65 -65
  99. package/fireflysite/assets/markdown/reference/Exceptions.md +101 -101
  100. package/fireflysite/assets/markdown/reference/FunctionsAndMethods.md +364 -364
  101. package/fireflysite/assets/markdown/reference/JavascriptInterop.md +235 -172
  102. package/fireflysite/assets/markdown/reference/ModulesAndPackages.md +162 -162
  103. package/fireflysite/assets/markdown/reference/OldStructuredConcurrency.md +48 -48
  104. package/fireflysite/assets/markdown/reference/PatternMatching.md +224 -224
  105. package/fireflysite/assets/markdown/reference/StatementsAndExpressions.md +86 -86
  106. package/fireflysite/assets/markdown/reference/StructuredConcurrency.md +99 -99
  107. package/fireflysite/assets/markdown/reference/TraitsAndInstances.md +100 -100
  108. package/fireflysite/assets/markdown/reference/UserDefinedTypes.md +184 -184
  109. package/fireflysite/assets/markdown/scratch/ControlFlow.md +136 -136
  110. package/fireflysite/assets/markdown/scratch/Toc.md +40 -40
  111. package/lsp/.firefly/package.ff +1 -1
  112. package/lsp/CompletionHandler.ff +827 -827
  113. package/lsp/Handler.ff +714 -714
  114. package/lsp/HoverHandler.ff +79 -79
  115. package/lsp/LanguageServer.ff +272 -272
  116. package/lsp/SignatureHelpHandler.ff +55 -55
  117. package/lsp/SymbolHandler.ff +181 -181
  118. package/lsp/TestReferences.ff +17 -17
  119. package/lsp/TestReferencesCase.ff +7 -7
  120. package/lsp/stderr.txt +1 -1
  121. package/lsp/stdout.txt +34 -34
  122. package/lux/.firefly/package.ff +1 -1
  123. package/lux/Css.ff +648 -648
  124. package/lux/CssTest.ff +48 -48
  125. package/lux/Lux.ff +608 -617
  126. package/lux/LuxEvent.ff +79 -116
  127. package/lux/Main.ff +123 -123
  128. package/lux/Main2.ff +143 -143
  129. package/lux/TestDry.ff +28 -28
  130. package/output/js/ff/compiler/Builder.mjs +72 -71
  131. package/output/js/ff/compiler/Compiler.mjs +19 -13
  132. package/output/js/ff/compiler/Dependencies.mjs +8 -7
  133. package/output/js/ff/compiler/DependencyLock.mjs +6 -4
  134. package/output/js/ff/compiler/Deriver.mjs +26 -24
  135. package/output/js/ff/compiler/Dictionaries.mjs +14 -18
  136. package/output/js/ff/compiler/Environment.mjs +6 -4
  137. package/output/js/ff/compiler/Inference.mjs +238 -164
  138. package/output/js/ff/compiler/JsEmitter.mjs +1160 -350
  139. package/output/js/ff/compiler/JsImporter.mjs +20 -18
  140. package/output/js/ff/compiler/LspHook.mjs +12 -10
  141. package/output/js/ff/compiler/Main.mjs +61 -41
  142. package/output/js/ff/compiler/ModuleCache.mjs +10 -8
  143. package/output/js/ff/compiler/Parser.mjs +153 -669
  144. package/output/js/ff/compiler/Patterns.mjs +12 -10
  145. package/output/js/ff/compiler/Resolver.mjs +52 -78
  146. package/output/js/ff/compiler/Substitution.mjs +12 -16
  147. package/output/js/ff/compiler/Syntax.mjs +50 -341
  148. package/output/js/ff/compiler/Token.mjs +126 -4
  149. package/output/js/ff/compiler/Tokenizer.mjs +62 -52
  150. package/output/js/ff/compiler/Unification.mjs +74 -90
  151. package/output/js/ff/compiler/Wildcards.mjs +4 -2
  152. package/output/js/ff/compiler/Workspace.mjs +26 -20
  153. package/output/js/ff/core/Any.mjs +20 -20
  154. package/output/js/ff/core/Array.mjs +268 -175
  155. package/output/js/ff/core/AssetSystem.mjs +8 -6
  156. package/output/js/ff/core/Atomic.mjs +84 -52
  157. package/output/js/ff/core/Bool.mjs +6 -4
  158. package/output/js/ff/core/BrowserSystem.mjs +38 -29
  159. package/output/js/ff/core/Buffer.mjs +285 -133
  160. package/output/js/ff/core/BuildSystem.mjs +36 -56
  161. package/output/js/ff/core/Channel.mjs +250 -97
  162. package/output/js/ff/core/Char.mjs +5 -3
  163. package/output/js/ff/core/Core.mjs +28 -34
  164. package/output/js/ff/core/Crypto.mjs +30 -52
  165. package/output/js/ff/core/Duration.mjs +4 -2
  166. package/output/js/ff/core/Equal.mjs +14 -12
  167. package/output/js/ff/core/Error.mjs +17 -11
  168. package/output/js/ff/core/FileHandle.mjs +76 -38
  169. package/output/js/ff/core/Float.mjs +92 -160
  170. package/output/js/ff/core/HttpClient.mjs +208 -76
  171. package/output/js/ff/core/Instant.mjs +8 -10
  172. package/output/js/ff/core/Int.mjs +36 -26
  173. package/output/js/ff/core/IntMap.mjs +79 -33
  174. package/output/js/ff/core/Js.mjs +751 -0
  175. package/output/js/ff/core/JsSystem.mjs +54 -60
  176. package/output/js/ff/core/JsValue.mjs +294 -143
  177. package/output/js/ff/core/Json.mjs +443 -253
  178. package/output/js/ff/core/List.mjs +262 -214
  179. package/output/js/ff/core/Lock.mjs +156 -125
  180. package/output/js/ff/core/Log.mjs +20 -10
  181. package/output/js/ff/core/Map.mjs +10 -8
  182. package/output/js/ff/core/NodeSystem.mjs +189 -123
  183. package/output/js/ff/core/Nothing.mjs +4 -2
  184. package/output/js/ff/core/Option.mjs +40 -38
  185. package/output/js/ff/core/Ordering.mjs +26 -20
  186. package/output/js/ff/core/Pair.mjs +4 -2
  187. package/output/js/ff/core/Path.mjs +517 -315
  188. package/output/js/ff/core/Queue.mjs +306 -0
  189. package/output/js/ff/core/Random.mjs +141 -77
  190. package/output/js/ff/core/RbMap.mjs +36 -34
  191. package/output/js/ff/core/Serializable.mjs +44 -28
  192. package/output/js/ff/core/Set.mjs +6 -4
  193. package/output/js/ff/core/Show.mjs +8 -6
  194. package/output/js/ff/core/SourceLocation.mjs +4 -2
  195. package/output/js/ff/core/Stream.mjs +30 -50
  196. package/output/js/ff/core/String.mjs +263 -172
  197. package/output/js/ff/core/StringMap.mjs +77 -31
  198. package/output/js/ff/core/Task.mjs +91 -76
  199. package/output/js/ff/core/Try.mjs +20 -18
  200. package/output/js/ff/core/Unit.mjs +4 -2
  201. package/package.json +1 -1
  202. package/postgresql/Pg.ff +53 -59
  203. package/rpc/.firefly/package.ff +1 -1
  204. package/rpc/Rpc.ff +70 -70
  205. package/s3/.firefly/package.ff +1 -1
  206. package/s3/S3.ff +92 -94
  207. package/vscode/LICENSE.txt +21 -21
  208. package/vscode/Prepublish.ff +15 -15
  209. package/vscode/README.md +16 -16
  210. package/vscode/client/package-lock.json +544 -544
  211. package/vscode/client/package.json +22 -22
  212. package/vscode/client/src/extension.ts +104 -104
  213. package/vscode/icons/firefly-icon.svg +10 -10
  214. package/vscode/language-configuration.json +61 -61
  215. package/vscode/package-lock.json +3623 -3623
  216. package/vscode/package.json +1 -1
  217. package/vscode/snippets.json +241 -241
  218. package/vscode/syntaxes/firefly-markdown-injection.json +45 -45
  219. package/webserver/.firefly/include/package.json +5 -5
  220. package/webserver/.firefly/package.ff +2 -2
  221. package/webserver/WebServer.ff +647 -685
  222. package/websocket/.firefly/package.ff +1 -1
  223. package/websocket/WebSocket.ff +100 -131
  224. package/core/UnsafeJs.ff +0 -42
  225. package/output/js/ff/core/UnsafeJs.mjs +0 -191
@@ -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 Option
96
98
  const None$ = {None: true};
97
99
  export function None() {
@@ -113,7 +115,7 @@ const _1 = self_;
113
115
  if(_1.None) {
114
116
  return body_()
115
117
  }
116
- if(_1.Some) {
118
+ {
117
119
  const value_ = _1.value_;
118
120
  return value_
119
121
  }
@@ -129,13 +131,13 @@ const _1 = condition_();
129
131
  if(_1) {
130
132
  return ff_core_Option.Some(body_())
131
133
  }
132
- if(!_1) {
134
+ {
133
135
  return ff_core_Option.None()
134
136
  }
135
137
  }
136
138
  return
137
139
  }
138
- if(_1.Some) {
140
+ {
139
141
  return self_
140
142
  }
141
143
  }
@@ -147,7 +149,7 @@ const _1 = self_;
147
149
  if(_1.None) {
148
150
  return body_()
149
151
  }
150
- if(_1.Some) {
152
+ {
151
153
  return self_
152
154
  }
153
155
  }
@@ -159,7 +161,7 @@ const _1 = self_;
159
161
  if(_1.None) {
160
162
  return noneBody_()
161
163
  }
162
- if(_1.Some) {
164
+ {
163
165
  const value_ = _1.value_;
164
166
  return someBody_(value_)
165
167
  }
@@ -172,7 +174,7 @@ const _1 = self_;
172
174
  if(_1.None) {
173
175
  return true
174
176
  }
175
- if(_1.Some) {
177
+ {
176
178
  return false
177
179
  }
178
180
  }
@@ -184,7 +186,7 @@ const _1 = self_;
184
186
  if(_1.None) {
185
187
  return []
186
188
  }
187
- if(_1.Some) {
189
+ {
188
190
  const v_ = _1.value_;
189
191
  return [v_]
190
192
  }
@@ -229,7 +231,7 @@ const _1 = self_;
229
231
  if(_1.None) {
230
232
  return ff_core_Option.None()
231
233
  }
232
- if(_1.Some) {
234
+ {
233
235
  const v_ = _1.value_;
234
236
  return ff_core_Option.Some(body_(v_))
235
237
  }
@@ -242,7 +244,7 @@ const _1 = self_;
242
244
  if(_1.None) {
243
245
  return ff_core_Option.None()
244
246
  }
245
- if(_1.Some) {
247
+ {
246
248
  const v_ = _1.value_;
247
249
  return body_(v_)
248
250
  }
@@ -256,7 +258,7 @@ if(_1.None) {
256
258
 
257
259
  return
258
260
  }
259
- if(_1.Some) {
261
+ {
260
262
  const v_ = _1.value_;
261
263
  body_(v_)
262
264
  return
@@ -270,7 +272,7 @@ const _1 = self_;
270
272
  if(_1.None) {
271
273
  return true
272
274
  }
273
- if(_1.Some) {
275
+ {
274
276
  const v_ = _1.value_;
275
277
  return body_(v_)
276
278
  }
@@ -283,7 +285,7 @@ const _1 = self_;
283
285
  if(_1.None) {
284
286
  return false
285
287
  }
286
- if(_1.Some) {
288
+ {
287
289
  const v_ = _1.value_;
288
290
  return body_(v_)
289
291
  }
@@ -296,7 +298,7 @@ const _1 = self_;
296
298
  if(_1.None) {
297
299
  return ff_core_Try.internalThrowGrabException_()
298
300
  }
299
- if(_1.Some) {
301
+ {
300
302
  const v_ = _1.value_;
301
303
  return v_
302
304
  }
@@ -309,7 +311,7 @@ const _1 = self_;
309
311
  if(_1.None) {
310
312
  return (await body_($task))
311
313
  }
312
- if(_1.Some) {
314
+ {
313
315
  const value_ = _1.value_;
314
316
  return value_
315
317
  }
@@ -325,13 +327,13 @@ const _1 = (await condition_($task));
325
327
  if(_1) {
326
328
  return ff_core_Option.Some((await body_($task)))
327
329
  }
328
- if(!_1) {
330
+ {
329
331
  return ff_core_Option.None()
330
332
  }
331
333
  }
332
334
  return
333
335
  }
334
- if(_1.Some) {
336
+ {
335
337
  return self_
336
338
  }
337
339
  }
@@ -343,7 +345,7 @@ const _1 = self_;
343
345
  if(_1.None) {
344
346
  return (await body_($task))
345
347
  }
346
- if(_1.Some) {
348
+ {
347
349
  return self_
348
350
  }
349
351
  }
@@ -355,7 +357,7 @@ const _1 = self_;
355
357
  if(_1.None) {
356
358
  return (await noneBody_($task))
357
359
  }
358
- if(_1.Some) {
360
+ {
359
361
  const value_ = _1.value_;
360
362
  return (await someBody_(value_, $task))
361
363
  }
@@ -368,7 +370,7 @@ const _1 = self_;
368
370
  if(_1.None) {
369
371
  return true
370
372
  }
371
- if(_1.Some) {
373
+ {
372
374
  return false
373
375
  }
374
376
  }
@@ -380,7 +382,7 @@ const _1 = self_;
380
382
  if(_1.None) {
381
383
  return []
382
384
  }
383
- if(_1.Some) {
385
+ {
384
386
  const v_ = _1.value_;
385
387
  return [v_]
386
388
  }
@@ -425,7 +427,7 @@ const _1 = self_;
425
427
  if(_1.None) {
426
428
  return ff_core_Option.None()
427
429
  }
428
- if(_1.Some) {
430
+ {
429
431
  const v_ = _1.value_;
430
432
  return ff_core_Option.Some((await body_(v_, $task)))
431
433
  }
@@ -438,7 +440,7 @@ const _1 = self_;
438
440
  if(_1.None) {
439
441
  return ff_core_Option.None()
440
442
  }
441
- if(_1.Some) {
443
+ {
442
444
  const v_ = _1.value_;
443
445
  return (await body_(v_, $task))
444
446
  }
@@ -452,7 +454,7 @@ if(_1.None) {
452
454
 
453
455
  return
454
456
  }
455
- if(_1.Some) {
457
+ {
456
458
  const v_ = _1.value_;
457
459
  (await body_(v_, $task))
458
460
  return
@@ -466,7 +468,7 @@ const _1 = self_;
466
468
  if(_1.None) {
467
469
  return true
468
470
  }
469
- if(_1.Some) {
471
+ {
470
472
  const v_ = _1.value_;
471
473
  return (await body_(v_, $task))
472
474
  }
@@ -479,7 +481,7 @@ const _1 = self_;
479
481
  if(_1.None) {
480
482
  return false
481
483
  }
482
- if(_1.Some) {
484
+ {
483
485
  const v_ = _1.value_;
484
486
  return (await body_(v_, $task))
485
487
  }
@@ -492,7 +494,7 @@ const _1 = self_;
492
494
  if(_1.None) {
493
495
  return ff_core_Try.internalThrowGrabException_()
494
496
  }
495
- if(_1.Some) {
497
+ {
496
498
  const v_ = _1.value_;
497
499
  return v_
498
500
  }
@@ -505,7 +507,7 @@ const _1 = self_;
505
507
  if(_1.None) {
506
508
  return false
507
509
  }
508
- if(_1.Some) {
510
+ {
509
511
  const v_ = _1.value_;
510
512
  return ff_core_Equal_Equal$T.equals_(v_, value_)
511
513
  }
@@ -518,7 +520,7 @@ const _1 = self_;
518
520
  if(_1.None) {
519
521
  return false
520
522
  }
521
- if(_1.Some) {
523
+ {
522
524
  const v_ = _1.value_;
523
525
  return ff_core_Equal_Equal$T.equals_(v_, value_)
524
526
  }
@@ -531,7 +533,7 @@ const _1 = self_;
531
533
  if(_1.None) {
532
534
  return ff_core_Option.None()
533
535
  }
534
- if(_1.Some) {
536
+ {
535
537
  const v_ = _1.value_;
536
538
  return v_
537
539
  }
@@ -544,7 +546,7 @@ const _1 = self_;
544
546
  if(_1.None) {
545
547
  return ff_core_Option.None()
546
548
  }
547
- if(_1.Some) {
549
+ {
548
550
  const v_ = _1.value_;
549
551
  return v_
550
552
  }
@@ -567,7 +569,7 @@ if(value_a.None) {
567
569
  const z_ = value_a;
568
570
  return "None"
569
571
  }
570
- if(value_a.Some) {
572
+ {
571
573
  const z_ = value_a;
572
574
  return ((("Some" + "(") + ff_core_Show_Show$T.show_(z_.value_)) + ")")
573
575
  }
@@ -578,7 +580,7 @@ if(value_a.None) {
578
580
  const z_ = value_a;
579
581
  return "None"
580
582
  }
581
- if(value_a.Some) {
583
+ {
582
584
  const z_ = value_a;
583
585
  return ((("Some" + "(") + ff_core_Show_Show$T.show_(z_.value_)) + ")")
584
586
  }
@@ -642,7 +644,7 @@ const z_a = z_;
642
644
  if(z_a.None) {
643
645
  return 0
644
646
  }
645
- if(z_a.Some) {
647
+ {
646
648
  return 1
647
649
  }
648
650
  }
@@ -672,7 +674,7 @@ const z_a = z_;
672
674
  if(z_a.None) {
673
675
  return 0
674
676
  }
675
- if(z_a.Some) {
677
+ {
676
678
  return 1
677
679
  }
678
680
  }
@@ -693,7 +695,7 @@ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 0
693
695
  serialization_.offset_ += 1
694
696
  return
695
697
  }
696
- if(value_a.Some) {
698
+ {
697
699
  const v_ = value_a;
698
700
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 19), 0);
699
701
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
@@ -732,7 +734,7 @@ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 0
732
734
  serialization_.offset_ += 1
733
735
  return
734
736
  }
735
- if(value_a.Some) {
737
+ {
736
738
  const v_ = value_a;
737
739
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 19), 0);
738
740
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
@@ -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 Ordering
96
98
  const OrderingBefore$ = {OrderingBefore: true};
97
99
  export function OrderingBefore() {
@@ -134,7 +136,7 @@ return ff_core_Ordering.OrderingAfter()
134
136
  if(_1.OrderingSame) {
135
137
  return ff_core_Ordering.OrderingSame()
136
138
  }
137
- if(_1.OrderingAfter) {
139
+ {
138
140
  return ff_core_Ordering.OrderingBefore()
139
141
  }
140
142
  }
@@ -224,7 +226,7 @@ return ff_core_Ordering.OrderingAfter()
224
226
  if(_1.OrderingSame) {
225
227
  return ff_core_Ordering.OrderingSame()
226
228
  }
227
- if(_1.OrderingAfter) {
229
+ {
228
230
  return ff_core_Ordering.OrderingBefore()
229
231
  }
230
232
  }
@@ -297,7 +299,7 @@ return (-1)
297
299
  if(_1.OrderingSame) {
298
300
  return 0
299
301
  }
300
- if(_1.OrderingAfter) {
302
+ {
301
303
  return 1
302
304
  }
303
305
  }
@@ -312,7 +314,7 @@ return ff_core_Ordering.OrderingAfter()
312
314
  if(_1.OrderingSame) {
313
315
  return ff_core_Ordering.OrderingSame()
314
316
  }
315
- if(_1.OrderingAfter) {
317
+ {
316
318
  return ff_core_Ordering.OrderingBefore()
317
319
  }
318
320
  }
@@ -327,7 +329,7 @@ return (-1)
327
329
  if(_1.OrderingSame) {
328
330
  return 0
329
331
  }
330
- if(_1.OrderingAfter) {
332
+ {
331
333
  return 1
332
334
  }
333
335
  }
@@ -342,7 +344,7 @@ return ff_core_Ordering.OrderingAfter()
342
344
  if(_1.OrderingSame) {
343
345
  return ff_core_Ordering.OrderingSame()
344
346
  }
345
- if(_1.OrderingAfter) {
347
+ {
346
348
  return ff_core_Ordering.OrderingBefore()
347
349
  }
348
350
  }
@@ -415,18 +417,22 @@ return ff_core_Ordering.fromFloat_((x_ - y_))
415
417
 
416
418
  export const ff_core_Ordering_Order$ff_core_String_String = {
417
419
  compare_(x_, y_) {
418
-
419
- if(x_ < y_) {
420
- return ff_core_Ordering.OrderingBefore()
421
- } else if(x_ > y_) {
422
- return ff_core_Ordering.OrderingAfter()
423
- } else {
424
- return ff_core_Ordering.OrderingSame()
425
- }
426
-
420
+ if((x_ < y_)) {
421
+ return ff_core_Ordering.OrderingBefore()
422
+ } else if((x_ > y_)) {
423
+ return ff_core_Ordering.OrderingAfter()
424
+ } else {
425
+ return ff_core_Ordering.OrderingSame()
426
+ }
427
427
  },
428
428
  async compare_$(x_, y_, $task) {
429
- throw new Error('Function compare is missing on this target in async context.');
429
+ if((x_ < y_)) {
430
+ return ff_core_Ordering.OrderingBefore()
431
+ } else if((x_ > y_)) {
432
+ return ff_core_Ordering.OrderingAfter()
433
+ } else {
434
+ return ff_core_Ordering.OrderingSame()
435
+ }
430
436
  }
431
437
  };
432
438
 
@@ -462,7 +468,7 @@ compare_(x_, y_) {
462
468
  let ordering_ = ff_core_Ordering.OrderingSame();
463
469
  let i_ = 0;
464
470
  while((((i_ < x_.length) && (i_ < y_.length)) && (ordering_ === ff_core_Ordering.OrderingSame()))) {
465
- ordering_ = ff_core_Ordering_Order$T.compare_((x_[i_] ?? ff_core_List.internalGrab_(x_, i_)), (y_[i_] ?? ff_core_List.internalGrab_(y_, i_)));
471
+ ordering_ = ff_core_Ordering_Order$T.compare_((x_[i_] ?? ff_core_List.List_grab(x_, i_)), (y_[i_] ?? ff_core_List.List_grab(y_, i_)));
466
472
  i_ += 1
467
473
  };
468
474
  if((ordering_ !== ff_core_Ordering.OrderingSame())) {
@@ -475,7 +481,7 @@ async compare_$(x_, y_, $task) {
475
481
  let ordering_ = ff_core_Ordering.OrderingSame();
476
482
  let i_ = 0;
477
483
  while((((i_ < x_.length) && (i_ < y_.length)) && (ordering_ === ff_core_Ordering.OrderingSame()))) {
478
- ordering_ = ff_core_Ordering_Order$T.compare_((x_[i_] ?? ff_core_List.internalGrab_(x_, i_)), (y_[i_] ?? ff_core_List.internalGrab_(y_, i_)));
484
+ ordering_ = ff_core_Ordering_Order$T.compare_((x_[i_] ?? ff_core_List.List_grab(x_, i_)), (y_[i_] ?? ff_core_List.List_grab(y_, i_)));
479
485
  i_ += 1
480
486
  };
481
487
  if((ordering_ !== ff_core_Ordering.OrderingSame())) {
@@ -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 Pair
96
98
  export function Pair(first_, second_) {
97
99
  return {first_, second_};