firefly-compiler 0.4.20 → 0.4.22

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 (72) hide show
  1. package/compiler/Builder.ff +23 -13
  2. package/compiler/Dictionaries.ff +10 -10
  3. package/compiler/Inference.ff +167 -148
  4. package/compiler/JsEmitter.ff +122 -78
  5. package/compiler/LspHook.ff +6 -3
  6. package/compiler/Main.ff +24 -10
  7. package/compiler/Patterns.ff +1 -1
  8. package/compiler/Resolver.ff +167 -159
  9. package/compiler/Substitution.ff +2 -2
  10. package/compiler/Syntax.ff +1 -0
  11. package/compiler/Unification.ff +1 -1
  12. package/core/Array.ff +6 -4
  13. package/core/Int.ff +12 -12
  14. package/core/List.ff +6 -4
  15. package/core/Map.ff +8 -0
  16. package/core/Set.ff +7 -0
  17. package/experimental/benchmarks/ListGrab.ff +23 -0
  18. package/experimental/benchmarks/ListGrab.java +55 -0
  19. package/experimental/benchmarks/Pyrotek45.ff +30 -0
  20. package/experimental/benchmarks/Pyrotek45.java +64 -0
  21. package/experimental/tests/TestJson.ff +26 -0
  22. package/lsp/Handler.ff +65 -61
  23. package/lsp/SignatureHelpHandler.ff +5 -4
  24. package/lsp/TestReferences.ff +15 -0
  25. package/lsp/TestReferencesCase.ff +8 -0
  26. package/output/js/ff/compiler/Builder.mjs +50 -44
  27. package/output/js/ff/compiler/Dependencies.mjs +0 -2
  28. package/output/js/ff/compiler/Deriver.mjs +16 -140
  29. package/output/js/ff/compiler/Dictionaries.mjs +24 -238
  30. package/output/js/ff/compiler/Environment.mjs +12 -154
  31. package/output/js/ff/compiler/Inference.mjs +207 -1069
  32. package/output/js/ff/compiler/JsEmitter.mjs +434 -2342
  33. package/output/js/ff/compiler/JsImporter.mjs +0 -12
  34. package/output/js/ff/compiler/LspHook.mjs +20 -446
  35. package/output/js/ff/compiler/Main.mjs +110 -553
  36. package/output/js/ff/compiler/Parser.mjs +36 -356
  37. package/output/js/ff/compiler/Patterns.mjs +24 -204
  38. package/output/js/ff/compiler/Resolver.mjs +428 -554
  39. package/output/js/ff/compiler/Substitution.mjs +6 -164
  40. package/output/js/ff/compiler/Syntax.mjs +449 -3293
  41. package/output/js/ff/compiler/Token.mjs +9 -1095
  42. package/output/js/ff/compiler/Tokenizer.mjs +4 -2
  43. package/output/js/ff/compiler/Unification.mjs +30 -364
  44. package/output/js/ff/compiler/Wildcards.mjs +0 -86
  45. package/output/js/ff/compiler/Workspace.mjs +8 -96
  46. package/output/js/ff/core/Array.mjs +15 -8
  47. package/output/js/ff/core/AssetSystem.mjs +4 -14
  48. package/output/js/ff/core/Bool.mjs +0 -12
  49. package/output/js/ff/core/Core.mjs +0 -30
  50. package/output/js/ff/core/Int.mjs +24 -24
  51. package/output/js/ff/core/IntMap.mjs +0 -8
  52. package/output/js/ff/core/Json.mjs +0 -40
  53. package/output/js/ff/core/List.mjs +23 -32
  54. package/output/js/ff/core/Lock.mjs +0 -10
  55. package/output/js/ff/core/Map.mjs +26 -24
  56. package/output/js/ff/core/Option.mjs +10 -286
  57. package/output/js/ff/core/Ordering.mjs +16 -158
  58. package/output/js/ff/core/Pair.mjs +2 -34
  59. package/output/js/ff/core/Path.mjs +2 -28
  60. package/output/js/ff/core/Random.mjs +4 -4
  61. package/output/js/ff/core/RbMap.mjs +56 -644
  62. package/output/js/ff/core/Set.mjs +16 -0
  63. package/output/js/ff/core/Show.mjs +0 -16
  64. package/output/js/ff/core/Stream.mjs +14 -144
  65. package/output/js/ff/core/StringMap.mjs +0 -8
  66. package/output/js/ff/core/Try.mjs +4 -108
  67. package/output/js/ff/core/Unit.mjs +2 -16
  68. package/package.json +1 -1
  69. package/postgresql/Pg.ff +23 -23
  70. package/vscode/package.json +1 -1
  71. package/bin/firefly.mjs +0 -2
  72. package/guide/Main.ff +0 -22
@@ -119,20 +119,14 @@ return ff_core_Core.panic_(((message_ + " ") + ff_compiler_Syntax.Location_show(
119
119
 
120
120
  export function JsImporter_add(self_, url_) {
121
121
  const importName_ = (((_1) => {
122
- {
123
122
  if(_1.None) {
124
123
  const n_ = ("import$" + ff_core_Map.Map_size(self_.imports_, ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String));
125
124
  self_.imports_ = ff_core_Map.Map_add(self_.imports_, url_, n_, ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String);
126
125
  return n_
127
- return
128
- }
129
126
  }
130
- {
131
127
  if(_1.Some) {
132
128
  const n_ = _1.value_;
133
129
  return n_
134
- return
135
- }
136
130
  }
137
131
  }))(ff_core_Map.Map_get(self_.imports_, url_, ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String));
138
132
  return importName_
@@ -192,20 +186,14 @@ return
192
186
 
193
187
  export async function JsImporter_add$(self_, url_, $task) {
194
188
  const importName_ = (((_1) => {
195
- {
196
189
  if(_1.None) {
197
190
  const n_ = ("import$" + ff_core_Map.Map_size(self_.imports_, ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String));
198
191
  self_.imports_ = ff_core_Map.Map_add(self_.imports_, url_, n_, ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String);
199
192
  return n_
200
- return
201
- }
202
193
  }
203
- {
204
194
  if(_1.Some) {
205
195
  const n_ = _1.value_;
206
196
  return n_
207
- return
208
- }
209
197
  }
210
198
  }))(ff_core_Map.Map_get(self_.imports_, url_, ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String));
211
199
  return importName_