multilingualprogramming 0.8.1__tar.gz → 0.8.2__tar.gz

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 (137) hide show
  1. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/PKG-INFO +1 -1
  2. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wat_generator.py +5 -1
  3. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wat_generator_core.py +35 -0
  4. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/version.py +1 -1
  5. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming.egg-info/PKG-INFO +1 -1
  6. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/LICENSE +0 -0
  7. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/README.md +0 -0
  8. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/__init__.py +0 -0
  9. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/__main__.py +0 -0
  10. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/__init__.py +0 -0
  11. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/build_orchestrator.py +0 -0
  12. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/encoding_guard.py +0 -0
  13. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/executor.py +0 -0
  14. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/js_generator.py +0 -0
  15. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/linear_manifest.py +0 -0
  16. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/midi_capture.py +0 -0
  17. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/midi_manifest.py +0 -0
  18. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/opcode_ontology.py +0 -0
  19. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/process_capabilities.py +0 -0
  20. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/process_core.py +0 -0
  21. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/process_field_projection.py +0 -0
  22. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/process_graph_projection.py +0 -0
  23. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/process_migration.py +0 -0
  24. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/process_program.py +0 -0
  25. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/process_projection.py +0 -0
  26. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/process_sequence_projection.py +0 -0
  27. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/process_static_projection.py +0 -0
  28. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/projection_capabilities.py +0 -0
  29. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/python_generator.py +0 -0
  30. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/repl.py +0 -0
  31. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/runtime_builtins.py +0 -0
  32. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/semantic_core.py +0 -0
  33. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/sonic_capture.py +0 -0
  34. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/sonic_projection.py +0 -0
  35. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/spatial_capture.py +0 -0
  36. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/spatial_manifest.py +0 -0
  37. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/ui_lowering.py +0 -0
  38. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/volumetric_manifest.py +0 -0
  39. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wasm_generator.py +0 -0
  40. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wat_generator_expression.py +0 -0
  41. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wat_generator_loop.py +0 -0
  42. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wat_generator_manifest.py +0 -0
  43. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wat_generator_match.py +0 -0
  44. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wat_generator_oop.py +0 -0
  45. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wat_generator_orchestrator.py +0 -0
  46. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wat_generator_print.py +0 -0
  47. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wat_generator_runtime.py +0 -0
  48. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wat_generator_sequence.py +0 -0
  49. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wat_generator_support.py +0 -0
  50. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/codegen/wat_ir_adapter.py +0 -0
  51. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/core/__init__.py +0 -0
  52. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/core/effects.py +0 -0
  53. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/core/ir_nodes.py +0 -0
  54. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/core/semantic_analyzer.py +0 -0
  55. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/core/semantic_lowering.py +0 -0
  56. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/core/types.py +0 -0
  57. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/core/validators.py +0 -0
  58. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/datetime/__init__.py +0 -0
  59. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/datetime/date_parser.py +0 -0
  60. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/datetime/mp_date.py +0 -0
  61. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/datetime/mp_datetime.py +0 -0
  62. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/datetime/mp_time.py +0 -0
  63. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/datetime/resource_loader.py +0 -0
  64. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/exceptions.py +0 -0
  65. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/imports.py +0 -0
  66. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/keyword/__init__.py +0 -0
  67. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/keyword/keyword_registry.py +0 -0
  68. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/keyword/keyword_validator.py +0 -0
  69. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/keyword/language_pack_validator.py +0 -0
  70. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/lexer/__init__.py +0 -0
  71. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/lexer/lexer.py +0 -0
  72. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/lexer/source_reader.py +0 -0
  73. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/lexer/token.py +0 -0
  74. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/lexer/token_types.py +0 -0
  75. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/numeral/__init__.py +0 -0
  76. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/numeral/abstract_numeral.py +0 -0
  77. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/numeral/complex_numeral.py +0 -0
  78. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/numeral/fraction_numeral.py +0 -0
  79. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/numeral/mp_numeral.py +0 -0
  80. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/numeral/numeral_converter.py +0 -0
  81. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/numeral/roman_numeral.py +0 -0
  82. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/numeral/unicode_numeral.py +0 -0
  83. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/parser/__init__.py +0 -0
  84. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/parser/ast_nodes.py +0 -0
  85. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/parser/ast_printer.py +0 -0
  86. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/parser/error_messages.py +0 -0
  87. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/parser/lexer.py +0 -0
  88. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/parser/parser.py +0 -0
  89. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/parser/surface_normalizer.py +0 -0
  90. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/resources/datetime/eras.json +0 -0
  91. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/resources/datetime/formats.json +0 -0
  92. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/resources/datetime/months.json +0 -0
  93. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/resources/datetime/weekdays.json +0 -0
  94. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/resources/parser/error_messages.json +0 -0
  95. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/resources/repl/commands.json +0 -0
  96. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/resources/usm/builtins_aliases.json +0 -0
  97. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/resources/usm/keywords.json +0 -0
  98. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/resources/usm/operators.json +0 -0
  99. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/resources/usm/schema.json +0 -0
  100. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/resources/usm/surface_patterns.json +0 -0
  101. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/resources/usm/ui_lowering.json +0 -0
  102. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/__init__.py +0 -0
  103. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/ai_runtime.py +0 -0
  104. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/ai_types.py +0 -0
  105. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/anthropic_provider.py +0 -0
  106. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/backend_selector.py +0 -0
  107. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/channel.py +0 -0
  108. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/inference_cache.py +0 -0
  109. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/memory_store.py +0 -0
  110. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/model_registry.py +0 -0
  111. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/multimodal_runtime.py +0 -0
  112. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/numeric_primitives.py +0 -0
  113. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/observability.py +0 -0
  114. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/ollama_provider.py +0 -0
  115. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/openai_provider.py +0 -0
  116. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/placement.py +0 -0
  117. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/prompt_optimizer.py +0 -0
  118. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/python_fallbacks.py +0 -0
  119. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/reactive.py +0 -0
  120. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/retrieval_runtime.py +0 -0
  121. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/semantic_match.py +0 -0
  122. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/swarm.py +0 -0
  123. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/runtime/tool_runtime.py +0 -0
  124. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/source_extensions.py +0 -0
  125. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/unicode_string.py +0 -0
  126. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/wasm/loader.py +0 -0
  127. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/wasm/tuple_abi.py +0 -0
  128. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming/wasm/tuple_memory.py +0 -0
  129. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming.egg-info/SOURCES.txt +0 -0
  130. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming.egg-info/dependency_links.txt +0 -0
  131. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming.egg-info/entry_points.txt +0 -0
  132. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming.egg-info/requires.txt +0 -0
  133. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/multilingualprogramming.egg-info/top_level.txt +0 -0
  134. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/pyproject.toml +0 -0
  135. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/setup.cfg +0 -0
  136. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/setup.py +0 -0
  137. {multilingualprogramming-0.8.1 → multilingualprogramming-0.8.2}/tests/tests.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: multilingualprogramming
3
- Version: 0.8.1
3
+ Version: 0.8.2
4
4
  Summary: Python application for multilingual programming
5
5
  Author-email: John Samuel <johnsamuelwrites@example.com>
6
6
  License-Expression: GPL-3.0-or-later
@@ -1340,7 +1340,11 @@ class WATCodeGenerator(
1340
1340
  self._gen_expr(node.args[0], indent)
1341
1341
  self._emit(f"{indent}f64.sqrt")
1342
1342
  elif fname in _ROUND_NAMES and len(node.args) == 1:
1343
- # round(x) → f64.nearest (IEEE 754 round-half-to-even)
1343
+ # round(x) → f64.nearest (IEEE 754 round-half-to-even, Python's
1344
+ # round): round(2.5) == 2. NOTE: this is NOT JavaScript Math.round
1345
+ # (round-half-up toward +inf, Math.round(2.5) === 3). Port JS
1346
+ # rounding with trunc(x + 0.5), not round. See CHANGELOG "Rounding
1347
+ # semantics clarified".
1344
1348
  self._gen_expr(node.args[0], indent)
1345
1349
  self._emit(f"{indent}f64.nearest")
1346
1350
  elif resolved_fname in {"math.floor", "floor"} and len(node.args) == 1:
@@ -778,6 +778,18 @@ class WATGeneratorCoreMixin:
778
778
  return
779
779
  end
780
780
  end
781
+ ;; Align the bump cursor up to 8 bytes before carving a fresh block so every
782
+ ;; heap allocation is 8-aligned. This keeps list headers/items at 8-aligned
783
+ ;; addresses (a prior __ml_str_alloc of len+4 can otherwise leave the cursor
784
+ ;; odd), so host callers may use zero-copy Float64Array views at base+8 in
785
+ ;; both directions. Class-recycled blocks stay 8-aligned since they originate
786
+ ;; from this aligned bump.
787
+ global.get $__heap_ptr
788
+ i32.const 7
789
+ i32.add
790
+ i32.const -8
791
+ i32.and
792
+ global.set $__heap_ptr
781
793
  global.get $__heap_ptr
782
794
  local.set $ptr
783
795
  local.get $ptr
@@ -861,6 +873,29 @@ class WATGeneratorCoreMixin:
861
873
  i32.const 4
862
874
  i32.add
863
875
  )
876
+ ;; Allocate a multilingual list buffer for host->wasm numeric-array passing.
877
+ ;; Reserves a header f64 (count) plus `n` f64 items, writes the count into the
878
+ ;; header, and returns the base pointer as f64 (the list ABI value). The base is
879
+ ;; 8-aligned (see $ml_alloc), so JS callers may fill items through a zero-copy
880
+ ;; Float64Array view at base+8 and then pass the pointer straight to a
881
+ ;; list-parameter export. Host-side dual of $__ml_str_alloc; complements the
882
+ ;; read-only $__ml_list_item / $__ml_list_count helpers below.
883
+ (func $__ml_list_alloc (export "__ml_list_alloc") (param $n i32) (result f64)
884
+ (local $base i32)
885
+ local.get $n
886
+ i32.const 8
887
+ i32.mul
888
+ i32.const 8
889
+ i32.add
890
+ call $ml_alloc
891
+ local.set $base
892
+ local.get $base
893
+ local.get $n
894
+ f64.convert_i32_s
895
+ f64.store
896
+ local.get $base
897
+ f64.convert_i32_s
898
+ )
864
899
  ;; Layout des listes multilingual (heap-backed) :
865
900
  ;; ptr+0 : header f64 = nombre d'éléments
866
901
  ;; ptr+8 : item 0 (f64)
@@ -6,4 +6,4 @@
6
6
 
7
7
  """multilingualprogramming is an application for multilingual programming."""
8
8
 
9
- __version__ = "0.8.1"
9
+ __version__ = "0.8.2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: multilingualprogramming
3
- Version: 0.8.1
3
+ Version: 0.8.2
4
4
  Summary: Python application for multilingual programming
5
5
  Author-email: John Samuel <johnsamuelwrites@example.com>
6
6
  License-Expression: GPL-3.0-or-later