kumi 0.0.25 → 0.0.27

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 (223) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/CLAUDE.md +4 -0
  4. data/README.md +86 -78
  5. data/data/functions/agg/boolean.yaml +6 -2
  6. data/data/functions/agg/numeric.yaml +32 -16
  7. data/data/functions/agg/string.yaml +4 -3
  8. data/data/functions/core/arithmetic.yaml +62 -14
  9. data/data/functions/core/boolean.yaml +12 -6
  10. data/data/functions/core/comparison.yaml +25 -13
  11. data/data/functions/core/constructor.yaml +16 -8
  12. data/data/functions/core/conversion.yaml +32 -0
  13. data/data/functions/core/select.yaml +3 -1
  14. data/data/functions/core/stencil.yaml +14 -5
  15. data/data/functions/core/string.yaml +9 -4
  16. data/data/kernels/javascript/core/coercion.yaml +20 -0
  17. data/data/kernels/ruby/agg/numeric.yaml +1 -1
  18. data/data/kernels/ruby/core/coercion.yaml +20 -0
  19. data/docs/ARCHITECTURE.md +277 -0
  20. data/docs/DEVELOPMENT.md +62 -0
  21. data/docs/FUNCTIONS.md +955 -0
  22. data/docs/SYNTAX.md +8 -0
  23. data/docs/UNSAT_DETECTION.md +83 -0
  24. data/docs/VSCODE_EXTENSION.md +114 -0
  25. data/docs/functions-reference.json +1821 -0
  26. data/golden/array_element/expected/nast.txt +1 -1
  27. data/golden/array_element/expected/schema_ruby.rb +1 -1
  28. data/golden/array_index/expected/nast.txt +7 -7
  29. data/golden/array_index/expected/schema_ruby.rb +1 -1
  30. data/golden/array_operations/expected/nast.txt +2 -2
  31. data/golden/array_operations/expected/schema_ruby.rb +1 -1
  32. data/golden/array_operations/expected/snast.txt +3 -3
  33. data/golden/cascade_logic/expected/schema_ruby.rb +1 -1
  34. data/golden/cascade_logic/expected/snast.txt +2 -2
  35. data/golden/chained_fusion/expected/nast.txt +2 -2
  36. data/golden/chained_fusion/expected/schema_ruby.rb +1 -1
  37. data/golden/decimal_explicit/expected/ast.txt +38 -0
  38. data/golden/decimal_explicit/expected/input_plan.txt +3 -0
  39. data/golden/decimal_explicit/expected/lir_00_unoptimized.txt +30 -0
  40. data/golden/decimal_explicit/expected/lir_01_hoist_scalar_references.txt +30 -0
  41. data/golden/decimal_explicit/expected/lir_02_inlined.txt +44 -0
  42. data/golden/decimal_explicit/expected/lir_03_cse.txt +40 -0
  43. data/golden/decimal_explicit/expected/lir_04_1_loop_fusion.txt +40 -0
  44. data/golden/decimal_explicit/expected/lir_04_loop_invcm.txt +40 -0
  45. data/golden/decimal_explicit/expected/lir_06_const_prop.txt +40 -0
  46. data/golden/decimal_explicit/expected/nast.txt +30 -0
  47. data/golden/decimal_explicit/expected/schema_javascript.mjs +31 -0
  48. data/golden/decimal_explicit/expected/schema_ruby.rb +57 -0
  49. data/golden/decimal_explicit/expected/snast.txt +30 -0
  50. data/golden/decimal_explicit/expected.json +1 -0
  51. data/golden/decimal_explicit/input.json +5 -0
  52. data/golden/decimal_explicit/schema.kumi +14 -0
  53. data/golden/element_arrays/expected/nast.txt +2 -2
  54. data/golden/element_arrays/expected/schema_ruby.rb +1 -1
  55. data/golden/element_arrays/expected/snast.txt +1 -1
  56. data/golden/empty_and_null_inputs/expected/nast.txt +3 -3
  57. data/golden/empty_and_null_inputs/expected/schema_ruby.rb +1 -1
  58. data/golden/function_overload/expected/ast.txt +29 -0
  59. data/golden/function_overload/expected/input_plan.txt +4 -0
  60. data/golden/function_overload/expected/lir_00_unoptimized.txt +18 -0
  61. data/golden/function_overload/expected/lir_01_hoist_scalar_references.txt +18 -0
  62. data/golden/function_overload/expected/lir_02_inlined.txt +20 -0
  63. data/golden/function_overload/expected/lir_03_cse.txt +20 -0
  64. data/golden/function_overload/expected/lir_04_1_loop_fusion.txt +20 -0
  65. data/golden/function_overload/expected/lir_04_loop_invcm.txt +20 -0
  66. data/golden/function_overload/expected/lir_06_const_prop.txt +20 -0
  67. data/golden/function_overload/expected/nast.txt +22 -0
  68. data/golden/function_overload/expected/schema_javascript.mjs +12 -0
  69. data/golden/function_overload/expected/schema_ruby.rb +39 -0
  70. data/golden/function_overload/expected/snast.txt +22 -0
  71. data/golden/function_overload/input.json +8 -0
  72. data/golden/function_overload/schema.kumi +19 -0
  73. data/golden/game_of_life/expected/lir_00_unoptimized.txt +4 -4
  74. data/golden/game_of_life/expected/lir_01_hoist_scalar_references.txt +4 -4
  75. data/golden/game_of_life/expected/lir_02_inlined.txt +16 -16
  76. data/golden/game_of_life/expected/lir_03_cse.txt +20 -16
  77. data/golden/game_of_life/expected/lir_04_1_loop_fusion.txt +20 -16
  78. data/golden/game_of_life/expected/lir_04_loop_invcm.txt +20 -16
  79. data/golden/game_of_life/expected/lir_06_const_prop.txt +20 -16
  80. data/golden/game_of_life/expected/nast.txt +4 -4
  81. data/golden/game_of_life/expected/schema_javascript.mjs +4 -2
  82. data/golden/game_of_life/expected/schema_ruby.rb +5 -3
  83. data/golden/game_of_life/expected/snast.txt +10 -10
  84. data/golden/hash_keys/expected/schema_ruby.rb +1 -1
  85. data/golden/hash_value/expected/nast.txt +1 -1
  86. data/golden/hash_value/expected/schema_ruby.rb +1 -1
  87. data/golden/hash_value/expected/snast.txt +1 -1
  88. data/golden/hierarchical_complex/expected/nast.txt +3 -3
  89. data/golden/hierarchical_complex/expected/schema_ruby.rb +1 -1
  90. data/golden/hierarchical_complex/expected/snast.txt +3 -3
  91. data/golden/inline_rename_scope_leak/expected/nast.txt +3 -3
  92. data/golden/inline_rename_scope_leak/expected/schema_ruby.rb +1 -1
  93. data/golden/input_reference/expected/nast.txt +2 -2
  94. data/golden/input_reference/expected/schema_ruby.rb +1 -1
  95. data/golden/interleaved_fusion/expected/nast.txt +2 -2
  96. data/golden/interleaved_fusion/expected/schema_ruby.rb +1 -1
  97. data/golden/let_inline/expected/nast.txt +4 -4
  98. data/golden/let_inline/expected/schema_ruby.rb +1 -1
  99. data/golden/loop_fusion/expected/nast.txt +1 -1
  100. data/golden/loop_fusion/expected/schema_ruby.rb +1 -1
  101. data/golden/min_reduce_scope/expected/nast.txt +3 -3
  102. data/golden/min_reduce_scope/expected/schema_ruby.rb +1 -1
  103. data/golden/min_reduce_scope/expected/snast.txt +1 -1
  104. data/golden/mixed_dimensions/expected/nast.txt +2 -2
  105. data/golden/mixed_dimensions/expected/schema_ruby.rb +1 -1
  106. data/golden/multirank_hoisting/expected/nast.txt +7 -7
  107. data/golden/multirank_hoisting/expected/schema_ruby.rb +1 -1
  108. data/golden/nested_hash/expected/nast.txt +1 -1
  109. data/golden/nested_hash/expected/schema_ruby.rb +1 -1
  110. data/golden/reduction_broadcast/expected/nast.txt +3 -3
  111. data/golden/reduction_broadcast/expected/schema_ruby.rb +1 -1
  112. data/golden/reduction_broadcast/expected/snast.txt +1 -1
  113. data/golden/roll/expected/schema_ruby.rb +1 -1
  114. data/golden/shift/expected/schema_ruby.rb +1 -1
  115. data/golden/shift_2d/expected/schema_ruby.rb +1 -1
  116. data/golden/simple_math/expected/lir_00_unoptimized.txt +1 -1
  117. data/golden/simple_math/expected/lir_01_hoist_scalar_references.txt +1 -1
  118. data/golden/simple_math/expected/lir_02_inlined.txt +1 -1
  119. data/golden/simple_math/expected/lir_03_cse.txt +1 -1
  120. data/golden/simple_math/expected/lir_04_1_loop_fusion.txt +1 -1
  121. data/golden/simple_math/expected/lir_04_loop_invcm.txt +1 -1
  122. data/golden/simple_math/expected/lir_06_const_prop.txt +1 -1
  123. data/golden/simple_math/expected/nast.txt +5 -5
  124. data/golden/simple_math/expected/schema_ruby.rb +1 -1
  125. data/golden/simple_math/expected/snast.txt +2 -2
  126. data/golden/streaming_basics/expected/nast.txt +8 -8
  127. data/golden/streaming_basics/expected/schema_ruby.rb +1 -1
  128. data/golden/streaming_basics/expected/snast.txt +1 -1
  129. data/golden/tuples/expected/lir_00_unoptimized.txt +5 -5
  130. data/golden/tuples/expected/lir_01_hoist_scalar_references.txt +5 -5
  131. data/golden/tuples/expected/lir_02_inlined.txt +5 -5
  132. data/golden/tuples/expected/lir_03_cse.txt +5 -5
  133. data/golden/tuples/expected/lir_04_1_loop_fusion.txt +5 -5
  134. data/golden/tuples/expected/lir_04_loop_invcm.txt +5 -5
  135. data/golden/tuples/expected/lir_06_const_prop.txt +5 -5
  136. data/golden/tuples/expected/nast.txt +4 -4
  137. data/golden/tuples/expected/schema_ruby.rb +1 -1
  138. data/golden/tuples/expected/snast.txt +6 -6
  139. data/golden/tuples_and_arrays/expected/lir_00_unoptimized.txt +1 -1
  140. data/golden/tuples_and_arrays/expected/lir_01_hoist_scalar_references.txt +1 -1
  141. data/golden/tuples_and_arrays/expected/lir_02_inlined.txt +2 -2
  142. data/golden/tuples_and_arrays/expected/lir_03_cse.txt +2 -2
  143. data/golden/tuples_and_arrays/expected/lir_04_1_loop_fusion.txt +2 -2
  144. data/golden/tuples_and_arrays/expected/lir_04_loop_invcm.txt +2 -2
  145. data/golden/tuples_and_arrays/expected/lir_06_const_prop.txt +2 -2
  146. data/golden/tuples_and_arrays/expected/nast.txt +3 -3
  147. data/golden/tuples_and_arrays/expected/schema_ruby.rb +1 -1
  148. data/golden/tuples_and_arrays/expected/snast.txt +2 -2
  149. data/golden/us_tax_2024/expected/ast.txt +63 -670
  150. data/golden/us_tax_2024/expected/input_plan.txt +8 -45
  151. data/golden/us_tax_2024/expected/lir_00_unoptimized.txt +253 -863
  152. data/golden/us_tax_2024/expected/lir_01_hoist_scalar_references.txt +253 -863
  153. data/golden/us_tax_2024/expected/lir_02_inlined.txt +1215 -5139
  154. data/golden/us_tax_2024/expected/lir_03_cse.txt +587 -2460
  155. data/golden/us_tax_2024/expected/lir_04_1_loop_fusion.txt +632 -2480
  156. data/golden/us_tax_2024/expected/lir_04_loop_invcm.txt +587 -2460
  157. data/golden/us_tax_2024/expected/lir_06_const_prop.txt +587 -2460
  158. data/golden/us_tax_2024/expected/nast.txt +123 -826
  159. data/golden/us_tax_2024/expected/schema_javascript.mjs +127 -581
  160. data/golden/us_tax_2024/expected/schema_ruby.rb +135 -610
  161. data/golden/us_tax_2024/expected/snast.txt +155 -858
  162. data/golden/us_tax_2024/expected.json +120 -1
  163. data/golden/us_tax_2024/input.json +18 -9
  164. data/golden/us_tax_2024/schema.kumi +48 -178
  165. data/golden/with_constants/expected/lir_00_unoptimized.txt +1 -1
  166. data/golden/with_constants/expected/lir_01_hoist_scalar_references.txt +1 -1
  167. data/golden/with_constants/expected/lir_02_inlined.txt +1 -1
  168. data/golden/with_constants/expected/lir_03_cse.txt +1 -1
  169. data/golden/with_constants/expected/lir_04_1_loop_fusion.txt +1 -1
  170. data/golden/with_constants/expected/lir_04_loop_invcm.txt +1 -1
  171. data/golden/with_constants/expected/lir_06_const_prop.txt +1 -1
  172. data/golden/with_constants/expected/nast.txt +2 -2
  173. data/golden/with_constants/expected/schema_ruby.rb +1 -1
  174. data/golden/with_constants/expected/snast.txt +2 -2
  175. data/lib/kumi/analyzer.rb +12 -12
  176. data/lib/kumi/configuration.rb +6 -0
  177. data/lib/kumi/core/analyzer/passes/formal_constraint_propagator.rb +236 -0
  178. data/lib/kumi/core/analyzer/passes/input_collector.rb +22 -4
  179. data/lib/kumi/core/analyzer/passes/nast_dimensional_analyzer_pass.rb +64 -18
  180. data/lib/kumi/core/analyzer/passes/normalize_to_nast_pass.rb +9 -4
  181. data/lib/kumi/core/analyzer/passes/snast_pass.rb +3 -1
  182. data/lib/kumi/core/analyzer/passes/unsat_detector.rb +172 -198
  183. data/lib/kumi/core/error_reporter.rb +36 -1
  184. data/lib/kumi/core/errors.rb +33 -1
  185. data/lib/kumi/core/functions/function_spec.rb +5 -4
  186. data/lib/kumi/core/functions/loader.rb +17 -1
  187. data/lib/kumi/core/functions/overload_resolver.rb +164 -0
  188. data/lib/kumi/core/functions/type_error_reporter.rb +118 -0
  189. data/lib/kumi/core/functions/type_rules.rb +155 -35
  190. data/lib/kumi/core/input/type_matcher.rb +8 -1
  191. data/lib/kumi/core/ruby_parser/input_builder.rb +2 -2
  192. data/lib/kumi/core/types/inference.rb +29 -22
  193. data/lib/kumi/core/types/normalizer.rb +30 -45
  194. data/lib/kumi/core/types/validator.rb +17 -28
  195. data/lib/kumi/core/types/value_objects.rb +116 -0
  196. data/lib/kumi/core/types.rb +45 -37
  197. data/lib/kumi/dev/golden/reporter.rb +9 -0
  198. data/lib/kumi/dev/golden/result.rb +3 -1
  199. data/lib/kumi/dev/golden/runtime_test.rb +25 -0
  200. data/lib/kumi/dev/golden/suite.rb +4 -4
  201. data/lib/kumi/dev/golden/value_normalizer.rb +80 -0
  202. data/lib/kumi/dev/golden.rb +21 -12
  203. data/lib/kumi/doc_generator/formatters/json.rb +39 -0
  204. data/lib/kumi/doc_generator/formatters/markdown.rb +175 -0
  205. data/lib/kumi/doc_generator/loader.rb +37 -0
  206. data/lib/kumi/doc_generator/merger.rb +54 -0
  207. data/lib/kumi/doc_generator.rb +4 -0
  208. data/lib/kumi/registry_v2/loader.rb +90 -0
  209. data/lib/kumi/registry_v2.rb +18 -1
  210. data/lib/kumi/version.rb +1 -1
  211. data/vscode-extension/.gitignore +4 -0
  212. data/vscode-extension/README.md +59 -0
  213. data/vscode-extension/TESTING.md +151 -0
  214. data/vscode-extension/package.json +51 -0
  215. data/vscode-extension/src/extension.ts +295 -0
  216. data/vscode-extension/tsconfig.json +15 -0
  217. metadata +57 -7
  218. data/lib/kumi/core/analyzer/unsat_constant_evaluator.rb +0 -59
  219. data/lib/kumi/core/atom_unsat_solver.rb +0 -396
  220. data/lib/kumi/core/constraint_relationship_solver.rb +0 -641
  221. data/lib/kumi/core/types/builder.rb +0 -23
  222. data/lib/kumi/core/types/compatibility.rb +0 -96
  223. data/lib/kumi/core/types/formatter.rb +0 -26
@@ -299,8 +299,8 @@
299
299
  %t482 = call core.clamp(%t362, %t298, %t452) :: integer
300
300
  %t483 = gather %t326, %t482 :: integer
301
301
  %t485 = select %t478, %t483, %t298 :: integer
302
- %t243 = make_tuple(%t313, %t333, %t353, %t373, %t401, %t429, %t457, %t485) :: tuple<integer>
303
- %t244 = fold %t243 fn="agg.sum" ::
302
+ %t243 = make_tuple(%t313, %t333, %t353, %t373, %t401, %t429, %t457, %t485) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
303
+ %t244 = fold %t243 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
304
304
  yield %t244
305
305
  end_loop
306
306
  end_loop
@@ -394,8 +394,8 @@
394
394
  %t686 = call core.clamp(%t566, %t502, %t656) :: integer
395
395
  %t687 = gather %t530, %t686 :: integer
396
396
  %t689 = select %t682, %t687, %t502 :: integer
397
- %t496 = make_tuple(%t517, %t537, %t557, %t577, %t605, %t633, %t661, %t689) :: tuple<integer>
398
- %t497 = fold %t496 fn="agg.sum" ::
397
+ %t496 = make_tuple(%t517, %t537, %t557, %t577, %t605, %t633, %t661, %t689) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
398
+ %t497 = fold %t496 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
399
399
  %t259 = const 3 :: integer
400
400
  %t260 = call core.eq(%t497, %t259) :: boolean
401
401
  yield %t260
@@ -481,8 +481,8 @@
481
481
  %t889 = call core.clamp(%t769, %t705, %t859) :: integer
482
482
  %t890 = gather %t733, %t889 :: integer
483
483
  %t892 = select %t885, %t890, %t705 :: integer
484
- %t699 = make_tuple(%t720, %t740, %t760, %t780, %t808, %t836, %t864, %t892) :: tuple<integer>
485
- %t700 = fold %t699 fn="agg.sum" ::
484
+ %t699 = make_tuple(%t720, %t740, %t760, %t780, %t808, %t836, %t864, %t892) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
485
+ %t700 = fold %t699 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
486
486
  %t267 = const 2 :: integer
487
487
  %t268 = call core.eq(%t700, %t267) :: boolean
488
488
  yield %t268
@@ -568,11 +568,12 @@
568
568
  %t1096 = call core.clamp(%t976, %t912, %t1066) :: integer
569
569
  %t1097 = gather %t940, %t1096 :: integer
570
570
  %t1099 = select %t1092, %t1097, %t912 :: integer
571
- %t906 = make_tuple(%t927, %t947, %t967, %t987, %t1015, %t1043, %t1071, %t1099) :: tuple<integer>
572
- %t907 = fold %t906 fn="agg.sum" ::
571
+ %t906 = make_tuple(%t927, %t947, %t967, %t987, %t1015, %t1043, %t1071, %t1099) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
572
+ %t907 = fold %t906 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
573
573
  %t895 = const 2 :: integer
574
574
  %t896 = call core.eq(%t907, %t895) :: boolean
575
- %t1103 = call core.gt(%col_el_272, %t912) :: boolean
575
+ %t1102 = const 0 :: integer
576
+ %t1103 = call core.gt(%col_el_272, %t1102) :: boolean
576
577
  %t276 = call core.and(%t896, %t1103) :: boolean
577
578
  yield %t276
578
579
  end_loop
@@ -657,13 +658,14 @@
657
658
  %t1308 = call core.clamp(%t1188, %t1124, %t1278) :: integer
658
659
  %t1309 = gather %t1152, %t1308 :: integer
659
660
  %t1311 = select %t1304, %t1309, %t1124 :: integer
660
- %t1118 = make_tuple(%t1139, %t1159, %t1179, %t1199, %t1227, %t1255, %t1283, %t1311) :: tuple<integer>
661
- %t1119 = fold %t1118 fn="agg.sum" ::
661
+ %t1118 = make_tuple(%t1139, %t1159, %t1179, %t1199, %t1227, %t1255, %t1283, %t1311) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
662
+ %t1119 = fold %t1118 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
662
663
  %t1107 = const 3 :: integer
663
664
  %t1108 = call core.eq(%t1119, %t1107) :: boolean
664
665
  %t1318 = const 2 :: integer
665
666
  %t1319 = call core.eq(%t1119, %t1318) :: boolean
666
- %t1526 = call core.gt(%col_el_280, %t1124) :: boolean
667
+ %t1525 = const 0 :: integer
668
+ %t1526 = call core.gt(%col_el_280, %t1525) :: boolean
667
669
  %t1315 = call core.and(%t1319, %t1526) :: boolean
668
670
  %t284 = call core.or(%t1108, %t1315) :: boolean
669
671
  yield %t284
@@ -749,16 +751,18 @@
749
751
  %t1735 = call core.clamp(%t1615, %t1551, %t1705) :: integer
750
752
  %t1736 = gather %t1579, %t1735 :: integer
751
753
  %t1738 = select %t1731, %t1736, %t1551 :: integer
752
- %t1545 = make_tuple(%t1566, %t1586, %t1606, %t1626, %t1654, %t1682, %t1710, %t1738) :: tuple<integer>
753
- %t1546 = fold %t1545 fn="agg.sum" ::
754
+ %t1545 = make_tuple(%t1566, %t1586, %t1606, %t1626, %t1654, %t1682, %t1710, %t1738) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
755
+ %t1546 = fold %t1545 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
754
756
  %t1534 = const 3 :: integer
755
757
  %t1535 = call core.eq(%t1546, %t1534) :: boolean
756
758
  %t1745 = const 2 :: integer
757
759
  %t1746 = call core.eq(%t1546, %t1745) :: boolean
758
- %t1953 = call core.gt(%col_el_288, %t1551) :: boolean
760
+ %t1952 = const 0 :: integer
761
+ %t1953 = call core.gt(%col_el_288, %t1952) :: boolean
759
762
  %t1742 = call core.and(%t1746, %t1953) :: boolean
760
763
  %t1531 = call core.or(%t1535, %t1742) :: boolean
761
- %t293 = select %t1531, %t1555, %t1551 :: integer
764
+ %t291 = const 1 :: integer
765
+ %t293 = select %t1531, %t291, %t1952 :: integer
762
766
  yield %t293
763
767
  end_loop
764
768
  end_loop
@@ -299,8 +299,8 @@
299
299
  %t482 = call core.clamp(%t362, %t298, %t452) :: integer
300
300
  %t483 = gather %t326, %t482 :: integer
301
301
  %t485 = select %t478, %t483, %t298 :: integer
302
- %t243 = make_tuple(%t313, %t333, %t353, %t373, %t401, %t429, %t457, %t485) :: tuple<integer>
303
- %t244 = fold %t243 fn="agg.sum" ::
302
+ %t243 = make_tuple(%t313, %t333, %t353, %t373, %t401, %t429, %t457, %t485) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
303
+ %t244 = fold %t243 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
304
304
  yield %t244
305
305
  end_loop
306
306
  end_loop
@@ -395,8 +395,8 @@
395
395
  %t686 = call core.clamp(%t566, %t502, %t656) :: integer
396
396
  %t687 = gather %t530, %t686 :: integer
397
397
  %t689 = select %t682, %t687, %t502 :: integer
398
- %t496 = make_tuple(%t517, %t537, %t557, %t577, %t605, %t633, %t661, %t689) :: tuple<integer>
399
- %t497 = fold %t496 fn="agg.sum" ::
398
+ %t496 = make_tuple(%t517, %t537, %t557, %t577, %t605, %t633, %t661, %t689) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
399
+ %t497 = fold %t496 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
400
400
  %t260 = call core.eq(%t497, %t259) :: boolean
401
401
  yield %t260
402
402
  end_loop
@@ -482,8 +482,8 @@
482
482
  %t889 = call core.clamp(%t769, %t705, %t859) :: integer
483
483
  %t890 = gather %t733, %t889 :: integer
484
484
  %t892 = select %t885, %t890, %t705 :: integer
485
- %t699 = make_tuple(%t720, %t740, %t760, %t780, %t808, %t836, %t864, %t892) :: tuple<integer>
486
- %t700 = fold %t699 fn="agg.sum" ::
485
+ %t699 = make_tuple(%t720, %t740, %t760, %t780, %t808, %t836, %t864, %t892) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
486
+ %t700 = fold %t699 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
487
487
  %t268 = call core.eq(%t700, %t267) :: boolean
488
488
  yield %t268
489
489
  end_loop
@@ -496,6 +496,7 @@
496
496
  %t912 = const 0 :: integer
497
497
  %t916 = const 1 :: integer
498
498
  %t895 = const 2 :: integer
499
+ %t1102 = const 0 :: integer
499
500
  %t917 = call core.sub(%t909, %t916) :: integer
500
501
  loop rows id=L27 in %t269 as el=%rows_el_270, idx=%rows_i_271
501
502
  %t911 = call core.sub(%rows_i_271, %t910) :: integer
@@ -569,10 +570,10 @@
569
570
  %t1096 = call core.clamp(%t976, %t912, %t1066) :: integer
570
571
  %t1097 = gather %t940, %t1096 :: integer
571
572
  %t1099 = select %t1092, %t1097, %t912 :: integer
572
- %t906 = make_tuple(%t927, %t947, %t967, %t987, %t1015, %t1043, %t1071, %t1099) :: tuple<integer>
573
- %t907 = fold %t906 fn="agg.sum" ::
573
+ %t906 = make_tuple(%t927, %t947, %t967, %t987, %t1015, %t1043, %t1071, %t1099) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
574
+ %t907 = fold %t906 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
574
575
  %t896 = call core.eq(%t907, %t895) :: boolean
575
- %t1103 = call core.gt(%col_el_272, %t912) :: boolean
576
+ %t1103 = call core.gt(%col_el_272, %t1102) :: boolean
576
577
  %t276 = call core.and(%t896, %t1103) :: boolean
577
578
  yield %t276
578
579
  end_loop
@@ -586,6 +587,7 @@
586
587
  %t1128 = const 1 :: integer
587
588
  %t1107 = const 3 :: integer
588
589
  %t1318 = const 2 :: integer
590
+ %t1525 = const 0 :: integer
589
591
  %t1129 = call core.sub(%t1121, %t1128) :: integer
590
592
  loop rows id=L29 in %t277 as el=%rows_el_278, idx=%rows_i_279
591
593
  %t1123 = call core.sub(%rows_i_279, %t1122) :: integer
@@ -659,11 +661,11 @@
659
661
  %t1308 = call core.clamp(%t1188, %t1124, %t1278) :: integer
660
662
  %t1309 = gather %t1152, %t1308 :: integer
661
663
  %t1311 = select %t1304, %t1309, %t1124 :: integer
662
- %t1118 = make_tuple(%t1139, %t1159, %t1179, %t1199, %t1227, %t1255, %t1283, %t1311) :: tuple<integer>
663
- %t1119 = fold %t1118 fn="agg.sum" ::
664
+ %t1118 = make_tuple(%t1139, %t1159, %t1179, %t1199, %t1227, %t1255, %t1283, %t1311) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
665
+ %t1119 = fold %t1118 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
664
666
  %t1108 = call core.eq(%t1119, %t1107) :: boolean
665
667
  %t1319 = call core.eq(%t1119, %t1318) :: boolean
666
- %t1526 = call core.gt(%col_el_280, %t1124) :: boolean
668
+ %t1526 = call core.gt(%col_el_280, %t1525) :: boolean
667
669
  %t1315 = call core.and(%t1319, %t1526) :: boolean
668
670
  %t284 = call core.or(%t1108, %t1315) :: boolean
669
671
  yield %t284
@@ -678,6 +680,8 @@
678
680
  %t1555 = const 1 :: integer
679
681
  %t1534 = const 3 :: integer
680
682
  %t1745 = const 2 :: integer
683
+ %t1952 = const 0 :: integer
684
+ %t291 = const 1 :: integer
681
685
  %t1556 = call core.sub(%t1548, %t1555) :: integer
682
686
  loop rows id=L31 in %t285 as el=%rows_el_286, idx=%rows_i_287
683
687
  %t1550 = call core.sub(%rows_i_287, %t1549) :: integer
@@ -751,14 +755,14 @@
751
755
  %t1735 = call core.clamp(%t1615, %t1551, %t1705) :: integer
752
756
  %t1736 = gather %t1579, %t1735 :: integer
753
757
  %t1738 = select %t1731, %t1736, %t1551 :: integer
754
- %t1545 = make_tuple(%t1566, %t1586, %t1606, %t1626, %t1654, %t1682, %t1710, %t1738) :: tuple<integer>
755
- %t1546 = fold %t1545 fn="agg.sum" ::
758
+ %t1545 = make_tuple(%t1566, %t1586, %t1606, %t1626, %t1654, %t1682, %t1710, %t1738) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
759
+ %t1546 = fold %t1545 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
756
760
  %t1535 = call core.eq(%t1546, %t1534) :: boolean
757
761
  %t1746 = call core.eq(%t1546, %t1745) :: boolean
758
- %t1953 = call core.gt(%col_el_288, %t1551) :: boolean
762
+ %t1953 = call core.gt(%col_el_288, %t1952) :: boolean
759
763
  %t1742 = call core.and(%t1746, %t1953) :: boolean
760
764
  %t1531 = call core.or(%t1535, %t1742) :: boolean
761
- %t293 = select %t1531, %t1555, %t1551 :: integer
765
+ %t293 = select %t1531, %t291, %t1952 :: integer
762
766
  yield %t293
763
767
  end_loop
764
768
  end_loop
@@ -299,8 +299,8 @@
299
299
  %t482 = call core.clamp(%t362, %t298, %t452) :: integer
300
300
  %t483 = gather %t326, %t482 :: integer
301
301
  %t485 = select %t478, %t483, %t298 :: integer
302
- %t243 = make_tuple(%t313, %t333, %t353, %t373, %t401, %t429, %t457, %t485) :: tuple<integer>
303
- %t244 = fold %t243 fn="agg.sum" ::
302
+ %t243 = make_tuple(%t313, %t333, %t353, %t373, %t401, %t429, %t457, %t485) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
303
+ %t244 = fold %t243 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
304
304
  yield %t244
305
305
  end_loop
306
306
  end_loop
@@ -395,8 +395,8 @@
395
395
  %t686 = call core.clamp(%t566, %t502, %t656) :: integer
396
396
  %t687 = gather %t530, %t686 :: integer
397
397
  %t689 = select %t682, %t687, %t502 :: integer
398
- %t496 = make_tuple(%t517, %t537, %t557, %t577, %t605, %t633, %t661, %t689) :: tuple<integer>
399
- %t497 = fold %t496 fn="agg.sum" ::
398
+ %t496 = make_tuple(%t517, %t537, %t557, %t577, %t605, %t633, %t661, %t689) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
399
+ %t497 = fold %t496 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
400
400
  %t260 = call core.eq(%t497, %t259) :: boolean
401
401
  yield %t260
402
402
  end_loop
@@ -482,8 +482,8 @@
482
482
  %t889 = call core.clamp(%t769, %t705, %t859) :: integer
483
483
  %t890 = gather %t733, %t889 :: integer
484
484
  %t892 = select %t885, %t890, %t705 :: integer
485
- %t699 = make_tuple(%t720, %t740, %t760, %t780, %t808, %t836, %t864, %t892) :: tuple<integer>
486
- %t700 = fold %t699 fn="agg.sum" ::
485
+ %t699 = make_tuple(%t720, %t740, %t760, %t780, %t808, %t836, %t864, %t892) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
486
+ %t700 = fold %t699 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
487
487
  %t268 = call core.eq(%t700, %t267) :: boolean
488
488
  yield %t268
489
489
  end_loop
@@ -496,6 +496,7 @@
496
496
  %t912 = const 0 :: integer
497
497
  %t916 = const 1 :: integer
498
498
  %t895 = const 2 :: integer
499
+ %t1102 = const 0 :: integer
499
500
  %t917 = call core.sub(%t909, %t916) :: integer
500
501
  loop rows id=L27 in %t269 as el=%rows_el_270, idx=%rows_i_271
501
502
  %t911 = call core.sub(%rows_i_271, %t910) :: integer
@@ -569,10 +570,10 @@
569
570
  %t1096 = call core.clamp(%t976, %t912, %t1066) :: integer
570
571
  %t1097 = gather %t940, %t1096 :: integer
571
572
  %t1099 = select %t1092, %t1097, %t912 :: integer
572
- %t906 = make_tuple(%t927, %t947, %t967, %t987, %t1015, %t1043, %t1071, %t1099) :: tuple<integer>
573
- %t907 = fold %t906 fn="agg.sum" ::
573
+ %t906 = make_tuple(%t927, %t947, %t967, %t987, %t1015, %t1043, %t1071, %t1099) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
574
+ %t907 = fold %t906 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
574
575
  %t896 = call core.eq(%t907, %t895) :: boolean
575
- %t1103 = call core.gt(%col_el_272, %t912) :: boolean
576
+ %t1103 = call core.gt(%col_el_272, %t1102) :: boolean
576
577
  %t276 = call core.and(%t896, %t1103) :: boolean
577
578
  yield %t276
578
579
  end_loop
@@ -586,6 +587,7 @@
586
587
  %t1128 = const 1 :: integer
587
588
  %t1107 = const 3 :: integer
588
589
  %t1318 = const 2 :: integer
590
+ %t1525 = const 0 :: integer
589
591
  %t1129 = call core.sub(%t1121, %t1128) :: integer
590
592
  loop rows id=L29 in %t277 as el=%rows_el_278, idx=%rows_i_279
591
593
  %t1123 = call core.sub(%rows_i_279, %t1122) :: integer
@@ -659,11 +661,11 @@
659
661
  %t1308 = call core.clamp(%t1188, %t1124, %t1278) :: integer
660
662
  %t1309 = gather %t1152, %t1308 :: integer
661
663
  %t1311 = select %t1304, %t1309, %t1124 :: integer
662
- %t1118 = make_tuple(%t1139, %t1159, %t1179, %t1199, %t1227, %t1255, %t1283, %t1311) :: tuple<integer>
663
- %t1119 = fold %t1118 fn="agg.sum" ::
664
+ %t1118 = make_tuple(%t1139, %t1159, %t1179, %t1199, %t1227, %t1255, %t1283, %t1311) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
665
+ %t1119 = fold %t1118 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
664
666
  %t1108 = call core.eq(%t1119, %t1107) :: boolean
665
667
  %t1319 = call core.eq(%t1119, %t1318) :: boolean
666
- %t1526 = call core.gt(%col_el_280, %t1124) :: boolean
668
+ %t1526 = call core.gt(%col_el_280, %t1525) :: boolean
667
669
  %t1315 = call core.and(%t1319, %t1526) :: boolean
668
670
  %t284 = call core.or(%t1108, %t1315) :: boolean
669
671
  yield %t284
@@ -678,6 +680,8 @@
678
680
  %t1555 = const 1 :: integer
679
681
  %t1534 = const 3 :: integer
680
682
  %t1745 = const 2 :: integer
683
+ %t1952 = const 0 :: integer
684
+ %t291 = const 1 :: integer
681
685
  %t1556 = call core.sub(%t1548, %t1555) :: integer
682
686
  loop rows id=L31 in %t285 as el=%rows_el_286, idx=%rows_i_287
683
687
  %t1550 = call core.sub(%rows_i_287, %t1549) :: integer
@@ -751,14 +755,14 @@
751
755
  %t1735 = call core.clamp(%t1615, %t1551, %t1705) :: integer
752
756
  %t1736 = gather %t1579, %t1735 :: integer
753
757
  %t1738 = select %t1731, %t1736, %t1551 :: integer
754
- %t1545 = make_tuple(%t1566, %t1586, %t1606, %t1626, %t1654, %t1682, %t1710, %t1738) :: tuple<integer>
755
- %t1546 = fold %t1545 fn="agg.sum" ::
758
+ %t1545 = make_tuple(%t1566, %t1586, %t1606, %t1626, %t1654, %t1682, %t1710, %t1738) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
759
+ %t1546 = fold %t1545 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
756
760
  %t1535 = call core.eq(%t1546, %t1534) :: boolean
757
761
  %t1746 = call core.eq(%t1546, %t1745) :: boolean
758
- %t1953 = call core.gt(%col_el_288, %t1551) :: boolean
762
+ %t1953 = call core.gt(%col_el_288, %t1952) :: boolean
759
763
  %t1742 = call core.and(%t1746, %t1953) :: boolean
760
764
  %t1531 = call core.or(%t1535, %t1742) :: boolean
761
- %t293 = select %t1531, %t1555, %t1551 :: integer
765
+ %t293 = select %t1531, %t291, %t1952 :: integer
762
766
  yield %t293
763
767
  end_loop
764
768
  end_loop
@@ -51,7 +51,7 @@
51
51
  )
52
52
  )
53
53
  (VALUE neighbors
54
- (Call :"agg.sum"
54
+ (Call :sum
55
55
  (Tuple
56
56
  (Ref n)
57
57
  (Ref s)
@@ -83,19 +83,19 @@
83
83
  )
84
84
  )
85
85
  (VALUE keep_alive
86
- (Call :"core.and"
86
+ (Call :and
87
87
  (Ref n2_alive)
88
88
  (Ref alive)
89
89
  )
90
90
  )
91
91
  (VALUE next_alive
92
- (Call :"core.or"
92
+ (Call :or
93
93
  (Ref n3_alive)
94
94
  (Ref keep_alive)
95
95
  )
96
96
  )
97
97
  (VALUE next_state
98
- (Call :__select__
98
+ (Call :select
99
99
  (Ref next_alive)
100
100
  (Const 1)
101
101
  (Const 0)
@@ -7,6 +7,8 @@ export function _next_state(input) {
7
7
  const t1555 = 1;
8
8
  const t1534 = 3;
9
9
  const t1745 = 2;
10
+ const t1952 = 0;
11
+ const t291 = 1;
10
12
  let t1556 = t1548 - t1555;
11
13
  t285.forEach((rows_el_286, rows_i_287) => {
12
14
  let out_1 = [];
@@ -85,10 +87,10 @@ export function _next_state(input) {
85
87
  let t1546 = t1545.reduce((a, b) => a + b, 0);
86
88
  let t1535 = t1546 == t1534;
87
89
  let t1746 = t1546 == t1745;
88
- let t1953 = col_el_288 > t1551;
90
+ let t1953 = col_el_288 > t1952;
89
91
  let t1742 = t1746 && t1953;
90
92
  let t1531 = t1535 || t1742;
91
- let t293 = t1531 ? t1555 : t1551;
93
+ let t293 = t1531 ? t291 : t1952;
92
94
  out_1.push(t293);
93
95
  });
94
96
  out.push(out_1);
@@ -1,5 +1,5 @@
1
1
  # Autogenerated by Kumi Codegen
2
- module Kumi::Compiled::KUMI_5e0a149820fd6b1804439359780ed5e142afe31fbc67b4cde25ee818fa412c12
2
+ module Kumi::Compiled::KUMI_ae11e7c3ad9a975bf5a020676cab139ea1236c8dddef854f433710ced5881709
3
3
  def self.from(input_data = nil)
4
4
  instance = Object.new
5
5
  instance.extend(self)
@@ -34,6 +34,8 @@ module Kumi::Compiled::KUMI_5e0a149820fd6b1804439359780ed5e142afe31fbc67b4cde25e
34
34
  t1555 = 1
35
35
  t1534 = 3
36
36
  t1745 = 2
37
+ t1952 = 0
38
+ t291 = 1
37
39
  t1556 = t1548 - t1555
38
40
  t285.each_with_index do |rows_el_286, rows_i_287|
39
41
  out_1 = []
@@ -112,10 +114,10 @@ module Kumi::Compiled::KUMI_5e0a149820fd6b1804439359780ed5e142afe31fbc67b4cde25e
112
114
  t1546 = t1545.sum
113
115
  t1535 = t1546 == t1534
114
116
  t1746 = t1546 == t1745
115
- t1953 = col_el_288 > t1551
117
+ t1953 = col_el_288 > t1952
116
118
  t1742 = t1746 && t1953
117
119
  t1531 = t1535 || t1742
118
- t293 = t1531 ? t1555 : t1551
120
+ t293 = t1531 ? t291 : t1952
119
121
  out_1 << t293
120
122
  end
121
123
  out << out_1
@@ -61,34 +61,34 @@
61
61
  (Ref ne) :: [rows, col] -> integer
62
62
  (Ref sw) :: [rows, col] -> integer
63
63
  (Ref se) :: [rows, col] -> integer
64
- ) :: [rows, col] -> tuple<integer>
65
- ) :: [rows, col] ->
66
- ) :: [rows, col] ->
67
- (TRAIT alive
64
+ ) :: [rows, col] -> tuple<integer, integer, integer, integer, integer, integer, integer, integer>
65
+ ) :: [rows, col] -> tuple<integer, integer, integer, integer, integer, integer, integer, integer>
66
+ ) :: [rows, col] -> tuple<integer, integer, integer, integer, integer, integer, integer, integer>
67
+ (VALUE alive
68
68
  (Call :core.gt
69
69
  (Ref a) :: [rows, col] -> integer
70
70
  (Const 0) :: [] -> integer
71
71
  ) :: [rows, col] -> boolean
72
72
  ) :: [rows, col] -> boolean
73
- (TRAIT n3_alive
73
+ (VALUE n3_alive
74
74
  (Call :core.eq
75
- (Ref neighbors) :: [rows, col] ->
75
+ (Ref neighbors) :: [rows, col] -> tuple<integer, integer, integer, integer, integer, integer, integer, integer>
76
76
  (Const 3) :: [] -> integer
77
77
  ) :: [rows, col] -> boolean
78
78
  ) :: [rows, col] -> boolean
79
- (TRAIT n2_alive
79
+ (VALUE n2_alive
80
80
  (Call :core.eq
81
- (Ref neighbors) :: [rows, col] ->
81
+ (Ref neighbors) :: [rows, col] -> tuple<integer, integer, integer, integer, integer, integer, integer, integer>
82
82
  (Const 2) :: [] -> integer
83
83
  ) :: [rows, col] -> boolean
84
84
  ) :: [rows, col] -> boolean
85
- (TRAIT keep_alive
85
+ (VALUE keep_alive
86
86
  (Call :core.and
87
87
  (Ref n2_alive) :: [rows, col] -> boolean
88
88
  (Ref alive) :: [rows, col] -> boolean
89
89
  ) :: [rows, col] -> boolean
90
90
  ) :: [rows, col] -> boolean
91
- (TRAIT next_alive
91
+ (VALUE next_alive
92
92
  (Call :core.or
93
93
  (Ref n3_alive) :: [rows, col] -> boolean
94
94
  (Ref keep_alive) :: [rows, col] -> boolean
@@ -1,5 +1,5 @@
1
1
  # Autogenerated by Kumi Codegen
2
- module Kumi::Compiled::KUMI_4e4f9566d9352274f495237eba94db9f3e1adbd90a662adbf7fe95ea0f69a167
2
+ module Kumi::Compiled::KUMI_98387d10c8fdfa8747d9dd4e0467343453396c951d55d275edf4af0bbe8b27ef
3
3
  def self.from(input_data = nil)
4
4
  instance = Object.new
5
5
  instance.extend(self)
@@ -16,7 +16,7 @@
16
16
  )
17
17
  )
18
18
  (VALUE john_user
19
- (Call :__select__
19
+ (Call :select
20
20
  (Ref is_john)
21
21
  (Ref users)
22
22
  (Const "NOT_JOHN")
@@ -1,5 +1,5 @@
1
1
  # Autogenerated by Kumi Codegen
2
- module Kumi::Compiled::KUMI_fd932eb31ef5d8b70116040cd0486f4121722e78554059fd6a300f28ee18b30d
2
+ module Kumi::Compiled::KUMI_a640fface9d8fd5b448e402d6bf2395566474e3e90386cc2bf6d46017bc09be2
3
3
  def self.from(input_data = nil)
4
4
  instance = Object.new
5
5
  instance.extend(self)
@@ -9,7 +9,7 @@
9
9
  ) :: [users] -> pair
10
10
  ) :: [users] -> hash
11
11
  ) :: [users] -> hash
12
- (TRAIT is_john
12
+ (VALUE is_john
13
13
  (Call :core.eq
14
14
  (InputRef users.user.name key_chain=[]) :: [users] -> string
15
15
  (Const "John") :: [] -> string
@@ -26,7 +26,7 @@
26
26
  (Ref top_team)
27
27
  )
28
28
  )
29
- (Call :"core.mul"
29
+ (Call :multiply
30
30
  (InputRef [:regions, :region, :offices, :office, :teams, :team, :employees, :employee, :salary])
31
31
  (Const 0.3)
32
32
  )
@@ -35,11 +35,11 @@
35
35
  (Ref high_performer)
36
36
  (Ref top_team)
37
37
  )
38
- (Call :"core.mul"
38
+ (Call :multiply
39
39
  (InputRef [:regions, :region, :offices, :office, :teams, :team, :employees, :employee, :salary])
40
40
  (Const 0.2)
41
41
  )
42
- (Call :"core.mul"
42
+ (Call :multiply
43
43
  (InputRef [:regions, :region, :offices, :office, :teams, :team, :employees, :employee, :salary])
44
44
  (Const 0.05)
45
45
  )
@@ -1,5 +1,5 @@
1
1
  # Autogenerated by Kumi Codegen
2
- module Kumi::Compiled::KUMI_296703f629e169ee9916ee2652186a615448b14fbf3dd810f07f800ec23e2706
2
+ module Kumi::Compiled::KUMI_b5eda506631ac67b2fa4e23a5039573b754dbb87a45dd1e8bd18a5dd4c8c97b2
3
3
  def self.from(input_data = nil)
4
4
  instance = Object.new
5
5
  instance.extend(self)
@@ -1,17 +1,17 @@
1
1
  (SNAST
2
- (TRAIT high_performer
2
+ (VALUE high_performer
3
3
  (Call :core.gte
4
4
  (InputRef regions.region.offices.office.teams.team.employees.employee.rating key_chain=[]) :: [regions, offices, teams, employees] -> float
5
5
  (Const 4.5) :: [] -> float
6
6
  ) :: [regions, offices, teams, employees] -> boolean
7
7
  ) :: [regions, offices, teams, employees] -> boolean
8
- (TRAIT senior_level
8
+ (VALUE senior_level
9
9
  (Call :core.eq
10
10
  (InputRef regions.region.offices.office.teams.team.employees.employee.level key_chain=[]) :: [regions, offices, teams, employees] -> string
11
11
  (Const "senior") :: [] -> string
12
12
  ) :: [regions, offices, teams, employees] -> boolean
13
13
  ) :: [regions, offices, teams, employees] -> boolean
14
- (TRAIT top_team
14
+ (VALUE top_team
15
15
  (Call :core.gte
16
16
  (InputRef regions.region.offices.office.teams.team.performance_score key_chain=[]) :: [regions, offices, teams] -> float
17
17
  (Const 0.9) :: [] -> float
@@ -1,16 +1,16 @@
1
1
  (NAST
2
2
  (VALUE sum_x
3
- (Call :"agg.sum"
3
+ (Call :sum
4
4
  (InputRef [:xs, :el, :v])
5
5
  )
6
6
  )
7
7
  (VALUE sum_y
8
- (Call :"agg.sum"
8
+ (Call :sum
9
9
  (InputRef [:ys, :el, :v])
10
10
  )
11
11
  )
12
12
  (VALUE tail
13
- (Call :"core.add"
13
+ (Call :add
14
14
  (Const 7.0)
15
15
  (Const 5.0)
16
16
  )
@@ -1,5 +1,5 @@
1
1
  # Autogenerated by Kumi Codegen
2
- module Kumi::Compiled::KUMI_db7971b324407d0f809565d983315fed4dc8a3f06f0530f13c577a5491ec479e
2
+ module Kumi::Compiled::KUMI_b293577e0fe0c4582da8ed3cda757059e40f0fd50edd24bfe36b0d4740df92f1
3
3
  def self.from(input_data = nil)
4
4
  instance = Object.new
5
5
  instance.extend(self)
@@ -9,12 +9,12 @@
9
9
  (InputRef [:config, :servers, :server, :hostname])
10
10
  )
11
11
  (VALUE server_count
12
- (Call :"core.array_size"
12
+ (Call :array_size
13
13
  (InputRef [:config, :servers])
14
14
  )
15
15
  )
16
16
  (VALUE total_ports
17
- (Call :"agg.sum"
17
+ (Call :sum
18
18
  (InputRef [:config, :servers, :server, :port])
19
19
  )
20
20
  )
@@ -1,5 +1,5 @@
1
1
  # Autogenerated by Kumi Codegen
2
- module Kumi::Compiled::KUMI_bf8dc5780a3c569c78320ccfb3817762c3aca5afe7bdec14afc2720b6ca6940e
2
+ module Kumi::Compiled::KUMI_9c0cff737270bf63de9ce71b67c6290fce449bc31a3d436f78b4b0fc18485ded
3
3
  def self.from(input_data = nil)
4
4
  instance = Object.new
5
5
  instance.extend(self)
@@ -1,11 +1,11 @@
1
1
  (NAST
2
2
  (VALUE total_payroll
3
- (Call :"agg.sum"
3
+ (Call :sum
4
4
  (InputRef [:departments, :dept, :employees, :emp, :salary])
5
5
  )
6
6
  )
7
7
  (VALUE payroll_tax
8
- (Call :"core.mul"
8
+ (Call :multiply
9
9
  (Ref total_payroll)
10
10
  (Const 0.15)
11
11
  )
@@ -1,5 +1,5 @@
1
1
  # Autogenerated by Kumi Codegen
2
- module Kumi::Compiled::KUMI_002f34f6230fcd86b09e6081a7690404057fdb4e88a69309791cc98faf743c5b
2
+ module Kumi::Compiled::KUMI_babd0dd6c79515b0ea177f8a303874051c0f1c81ff6d57e90002a1cc4a6da663
3
3
  def self.from(input_data = nil)
4
4
  instance = Object.new
5
5
  instance.extend(self)
@@ -1,24 +1,24 @@
1
1
  (NAST
2
2
  (VALUE x_sq
3
- (Call :"core.mul"
3
+ (Call :multiply
4
4
  (InputRef [:x])
5
5
  (InputRef [:x])
6
6
  )
7
7
  )
8
8
  (VALUE y_sq
9
- (Call :"core.mul"
9
+ (Call :multiply
10
10
  (InputRef [:y])
11
11
  (InputRef [:y])
12
12
  )
13
13
  )
14
14
  (VALUE distance_sq
15
- (Call :"core.add"
15
+ (Call :add
16
16
  (Ref x_sq)
17
17
  (Ref y_sq)
18
18
  )
19
19
  )
20
20
  (VALUE distance
21
- (Call :"core.pow"
21
+ (Call :power
22
22
  (Ref distance_sq)
23
23
  (Const 0.5)
24
24
  )
@@ -1,5 +1,5 @@
1
1
  # Autogenerated by Kumi Codegen
2
- module Kumi::Compiled::KUMI_4c8723995ed228ad59aa4387c47f793b36b9ab146166d75c9288837c7d368c1b
2
+ module Kumi::Compiled::KUMI_2b17dbaf9b9a1a6c29c795b17daeb9063d83829b4943219762ad8559dc83a981
3
3
  def self.from(input_data = nil)
4
4
  instance = Object.new
5
5
  instance.extend(self)
@@ -1,6 +1,6 @@
1
1
  (NAST
2
2
  (VALUE total_payroll
3
- (Call :"agg.sum"
3
+ (Call :sum
4
4
  (InputRef [:departments, :dept, :employees, :emp, :salary])
5
5
  )
6
6
  )
@@ -1,5 +1,5 @@
1
1
  # Autogenerated by Kumi Codegen
2
- module Kumi::Compiled::KUMI_f73439f44efea38d0e3ff71d0a88169a9b4e6158dd1d4fc358b80ff61c3dbbac
2
+ module Kumi::Compiled::KUMI_c70c48b631574cbfe5b913b29ea93654ff17af9d96ab10931647f10c6c674ef9
3
3
  def self.from(input_data = nil)
4
4
  instance = Object.new
5
5
  instance.extend(self)