kumi 0.0.26 → 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 (85) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/CLAUDE.md +4 -0
  4. data/README.md +17 -8
  5. data/data/functions/core/conversion.yaml +32 -0
  6. data/data/kernels/javascript/core/coercion.yaml +20 -0
  7. data/data/kernels/ruby/core/coercion.yaml +20 -0
  8. data/docs/ARCHITECTURE.md +277 -0
  9. data/docs/DEVELOPMENT.md +62 -0
  10. data/docs/FUNCTIONS.md +955 -0
  11. data/docs/SYNTAX.md +8 -0
  12. data/docs/VSCODE_EXTENSION.md +114 -0
  13. data/docs/functions-reference.json +1821 -0
  14. data/golden/array_element/expected/schema_ruby.rb +1 -1
  15. data/golden/array_index/expected/schema_ruby.rb +1 -1
  16. data/golden/array_operations/expected/schema_ruby.rb +1 -1
  17. data/golden/cascade_logic/expected/schema_ruby.rb +1 -1
  18. data/golden/chained_fusion/expected/schema_ruby.rb +1 -1
  19. data/golden/decimal_explicit/expected/ast.txt +38 -0
  20. data/golden/decimal_explicit/expected/input_plan.txt +3 -0
  21. data/golden/decimal_explicit/expected/lir_00_unoptimized.txt +30 -0
  22. data/golden/decimal_explicit/expected/lir_01_hoist_scalar_references.txt +30 -0
  23. data/golden/decimal_explicit/expected/lir_02_inlined.txt +44 -0
  24. data/golden/decimal_explicit/expected/lir_03_cse.txt +40 -0
  25. data/golden/decimal_explicit/expected/lir_04_1_loop_fusion.txt +40 -0
  26. data/golden/decimal_explicit/expected/lir_04_loop_invcm.txt +40 -0
  27. data/golden/decimal_explicit/expected/lir_06_const_prop.txt +40 -0
  28. data/golden/decimal_explicit/expected/nast.txt +30 -0
  29. data/golden/decimal_explicit/expected/schema_javascript.mjs +31 -0
  30. data/golden/decimal_explicit/expected/schema_ruby.rb +57 -0
  31. data/golden/decimal_explicit/expected/snast.txt +30 -0
  32. data/golden/decimal_explicit/expected.json +1 -0
  33. data/golden/decimal_explicit/input.json +5 -0
  34. data/golden/decimal_explicit/schema.kumi +14 -0
  35. data/golden/element_arrays/expected/schema_ruby.rb +1 -1
  36. data/golden/empty_and_null_inputs/expected/schema_ruby.rb +1 -1
  37. data/golden/function_overload/expected/schema_ruby.rb +1 -1
  38. data/golden/game_of_life/expected/schema_ruby.rb +1 -1
  39. data/golden/hash_keys/expected/schema_ruby.rb +1 -1
  40. data/golden/hash_value/expected/schema_ruby.rb +1 -1
  41. data/golden/hierarchical_complex/expected/schema_ruby.rb +1 -1
  42. data/golden/inline_rename_scope_leak/expected/schema_ruby.rb +1 -1
  43. data/golden/input_reference/expected/schema_ruby.rb +1 -1
  44. data/golden/interleaved_fusion/expected/schema_ruby.rb +1 -1
  45. data/golden/let_inline/expected/schema_ruby.rb +1 -1
  46. data/golden/loop_fusion/expected/schema_ruby.rb +1 -1
  47. data/golden/min_reduce_scope/expected/schema_ruby.rb +1 -1
  48. data/golden/mixed_dimensions/expected/schema_ruby.rb +1 -1
  49. data/golden/multirank_hoisting/expected/schema_ruby.rb +1 -1
  50. data/golden/nested_hash/expected/schema_ruby.rb +1 -1
  51. data/golden/reduction_broadcast/expected/schema_ruby.rb +1 -1
  52. data/golden/roll/expected/schema_ruby.rb +1 -1
  53. data/golden/shift/expected/schema_ruby.rb +1 -1
  54. data/golden/shift_2d/expected/schema_ruby.rb +1 -1
  55. data/golden/simple_math/expected/schema_ruby.rb +1 -1
  56. data/golden/streaming_basics/expected/schema_ruby.rb +1 -1
  57. data/golden/tuples/expected/schema_ruby.rb +1 -1
  58. data/golden/tuples_and_arrays/expected/schema_ruby.rb +1 -1
  59. data/golden/us_tax_2024/expected/schema_ruby.rb +1 -1
  60. data/golden/with_constants/expected/schema_ruby.rb +1 -1
  61. data/lib/kumi/configuration.rb +6 -0
  62. data/lib/kumi/core/input/type_matcher.rb +8 -1
  63. data/lib/kumi/core/ruby_parser/input_builder.rb +2 -2
  64. data/lib/kumi/core/types/normalizer.rb +1 -0
  65. data/lib/kumi/core/types/validator.rb +2 -2
  66. data/lib/kumi/core/types.rb +2 -2
  67. data/lib/kumi/dev/golden/reporter.rb +9 -0
  68. data/lib/kumi/dev/golden/result.rb +3 -1
  69. data/lib/kumi/dev/golden/runtime_test.rb +25 -0
  70. data/lib/kumi/dev/golden/suite.rb +4 -4
  71. data/lib/kumi/dev/golden/value_normalizer.rb +80 -0
  72. data/lib/kumi/dev/golden.rb +21 -12
  73. data/lib/kumi/doc_generator/formatters/json.rb +39 -0
  74. data/lib/kumi/doc_generator/formatters/markdown.rb +175 -0
  75. data/lib/kumi/doc_generator/loader.rb +37 -0
  76. data/lib/kumi/doc_generator/merger.rb +54 -0
  77. data/lib/kumi/doc_generator.rb +4 -0
  78. data/lib/kumi/version.rb +1 -1
  79. data/vscode-extension/.gitignore +4 -0
  80. data/vscode-extension/README.md +59 -0
  81. data/vscode-extension/TESTING.md +151 -0
  82. data/vscode-extension/package.json +51 -0
  83. data/vscode-extension/src/extension.ts +295 -0
  84. data/vscode-extension/tsconfig.json +15 -0
  85. metadata +37 -1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kumi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.26
4
+ version: 0.0.27
5
5
  platform: ruby
6
6
  authors:
7
7
  - André Muta
@@ -58,6 +58,7 @@ files:
58
58
  - data/functions/core/boolean.yaml
59
59
  - data/functions/core/comparison.yaml
60
60
  - data/functions/core/constructor.yaml
61
+ - data/functions/core/conversion.yaml
61
62
  - data/functions/core/select.yaml
62
63
  - data/functions/core/stencil.yaml
63
64
  - data/functions/core/string.yaml
@@ -66,6 +67,7 @@ files:
66
67
  - data/kernels/javascript/agg/string.yaml
67
68
  - data/kernels/javascript/core/arithmetic.yaml
68
69
  - data/kernels/javascript/core/boolean.yaml
70
+ - data/kernels/javascript/core/coercion.yaml
69
71
  - data/kernels/javascript/core/comparison.yaml
70
72
  - data/kernels/javascript/core/constructor.yaml
71
73
  - data/kernels/javascript/core/select.yaml
@@ -75,15 +77,21 @@ files:
75
77
  - data/kernels/ruby/agg/string.yaml
76
78
  - data/kernels/ruby/core/arithmetic.yaml
77
79
  - data/kernels/ruby/core/boolean.yaml
80
+ - data/kernels/ruby/core/coercion.yaml
78
81
  - data/kernels/ruby/core/comparison.yaml
79
82
  - data/kernels/ruby/core/constructor.yaml
80
83
  - data/kernels/ruby/core/select.yaml
81
84
  - data/kernels/ruby/core/string.yaml
82
85
  - debug_ordering.rb
86
+ - docs/ARCHITECTURE.md
87
+ - docs/DEVELOPMENT.md
83
88
  - docs/FORM_SCHEMA.md
89
+ - docs/FUNCTIONS.md
84
90
  - docs/OUTPUT_SCHEMA.md
85
91
  - docs/SYNTAX.md
86
92
  - docs/UNSAT_DETECTION.md
93
+ - docs/VSCODE_EXTENSION.md
94
+ - docs/functions-reference.json
87
95
  - examples/deep_schema_compilation_and_evaluation_benchmark.rb
88
96
  - examples/federal_tax_calculator_2024.rb
89
97
  - examples/game_of_life.rb
@@ -170,6 +178,22 @@ files:
170
178
  - golden/chained_fusion/expected/snast.txt
171
179
  - golden/chained_fusion/input.json
172
180
  - golden/chained_fusion/schema.kumi
181
+ - golden/decimal_explicit/expected.json
182
+ - golden/decimal_explicit/expected/ast.txt
183
+ - golden/decimal_explicit/expected/input_plan.txt
184
+ - golden/decimal_explicit/expected/lir_00_unoptimized.txt
185
+ - golden/decimal_explicit/expected/lir_01_hoist_scalar_references.txt
186
+ - golden/decimal_explicit/expected/lir_02_inlined.txt
187
+ - golden/decimal_explicit/expected/lir_03_cse.txt
188
+ - golden/decimal_explicit/expected/lir_04_1_loop_fusion.txt
189
+ - golden/decimal_explicit/expected/lir_04_loop_invcm.txt
190
+ - golden/decimal_explicit/expected/lir_06_const_prop.txt
191
+ - golden/decimal_explicit/expected/nast.txt
192
+ - golden/decimal_explicit/expected/schema_javascript.mjs
193
+ - golden/decimal_explicit/expected/schema_ruby.rb
194
+ - golden/decimal_explicit/expected/snast.txt
195
+ - golden/decimal_explicit/input.json
196
+ - golden/decimal_explicit/schema.kumi
173
197
  - golden/element_arrays/expected.json
174
198
  - golden/element_arrays/expected/ast.txt
175
199
  - golden/element_arrays/expected/input_plan.txt
@@ -734,6 +758,7 @@ files:
734
758
  - lib/kumi/dev/golden/result.rb
735
759
  - lib/kumi/dev/golden/runtime_test.rb
736
760
  - lib/kumi/dev/golden/suite.rb
761
+ - lib/kumi/dev/golden/value_normalizer.rb
737
762
  - lib/kumi/dev/golden/verifier.rb
738
763
  - lib/kumi/dev/ir.rb
739
764
  - lib/kumi/dev/parse.rb
@@ -744,6 +769,11 @@ files:
744
769
  - lib/kumi/dev/profile_runner.rb
745
770
  - lib/kumi/dev/runner.rb
746
771
  - lib/kumi/dev/support/kumi_runner.mjs
772
+ - lib/kumi/doc_generator.rb
773
+ - lib/kumi/doc_generator/formatters/json.rb
774
+ - lib/kumi/doc_generator/formatters/markdown.rb
775
+ - lib/kumi/doc_generator/loader.rb
776
+ - lib/kumi/doc_generator/merger.rb
747
777
  - lib/kumi/errors.rb
748
778
  - lib/kumi/frontends.rb
749
779
  - lib/kumi/frontends/ruby.rb
@@ -776,6 +806,12 @@ files:
776
806
  - lib/kumi/syntax/trait_declaration.rb
777
807
  - lib/kumi/syntax/value_declaration.rb
778
808
  - lib/kumi/version.rb
809
+ - vscode-extension/.gitignore
810
+ - vscode-extension/README.md
811
+ - vscode-extension/TESTING.md
812
+ - vscode-extension/package.json
813
+ - vscode-extension/src/extension.ts
814
+ - vscode-extension/tsconfig.json
779
815
  homepage: https://github.com/amuta/kumi
780
816
  licenses:
781
817
  - MIT