multilingualprogramming 0.6.0__tar.gz → 0.8.0__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 (153) hide show
  1. multilingualprogramming-0.8.0/PKG-INFO +288 -0
  2. multilingualprogramming-0.8.0/README.md +243 -0
  3. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/__init__.py +1 -5
  4. multilingualprogramming-0.8.0/multilingualprogramming/__main__.py +1052 -0
  5. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/codegen/build_orchestrator.py +67 -9
  6. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/codegen/executor.py +60 -17
  7. multilingualprogramming-0.8.0/multilingualprogramming/codegen/linear_manifest.py +96 -0
  8. multilingualprogramming-0.8.0/multilingualprogramming/codegen/midi_capture.py +156 -0
  9. multilingualprogramming-0.8.0/multilingualprogramming/codegen/midi_manifest.py +110 -0
  10. multilingualprogramming-0.8.0/multilingualprogramming/codegen/opcode_ontology.py +290 -0
  11. multilingualprogramming-0.8.0/multilingualprogramming/codegen/process_capabilities.py +140 -0
  12. multilingualprogramming-0.8.0/multilingualprogramming/codegen/process_core.py +1034 -0
  13. multilingualprogramming-0.8.0/multilingualprogramming/codegen/process_field_projection.py +257 -0
  14. multilingualprogramming-0.8.0/multilingualprogramming/codegen/process_graph_projection.py +295 -0
  15. multilingualprogramming-0.8.0/multilingualprogramming/codegen/process_migration.py +87 -0
  16. multilingualprogramming-0.8.0/multilingualprogramming/codegen/process_program.py +100 -0
  17. multilingualprogramming-0.8.0/multilingualprogramming/codegen/process_projection.py +279 -0
  18. multilingualprogramming-0.8.0/multilingualprogramming/codegen/process_sequence_projection.py +248 -0
  19. multilingualprogramming-0.8.0/multilingualprogramming/codegen/process_static_projection.py +200 -0
  20. multilingualprogramming-0.8.0/multilingualprogramming/codegen/projection_capabilities.py +37 -0
  21. multilingualprogramming-0.8.0/multilingualprogramming/codegen/python_generator.py +1929 -0
  22. multilingualprogramming-0.8.0/multilingualprogramming/codegen/runtime_builtins.py +851 -0
  23. multilingualprogramming-0.8.0/multilingualprogramming/codegen/semantic_core.py +213 -0
  24. multilingualprogramming-0.8.0/multilingualprogramming/codegen/sonic_capture.py +183 -0
  25. multilingualprogramming-0.8.0/multilingualprogramming/codegen/sonic_projection.py +134 -0
  26. multilingualprogramming-0.8.0/multilingualprogramming/codegen/spatial_capture.py +182 -0
  27. multilingualprogramming-0.8.0/multilingualprogramming/codegen/spatial_manifest.py +145 -0
  28. multilingualprogramming-0.8.0/multilingualprogramming/codegen/ui_lowering.py +1342 -0
  29. multilingualprogramming-0.8.0/multilingualprogramming/codegen/volumetric_manifest.py +104 -0
  30. multilingualprogramming-0.8.0/multilingualprogramming/codegen/wat_generator.py +3145 -0
  31. multilingualprogramming-0.8.0/multilingualprogramming/codegen/wat_generator_core.py +3235 -0
  32. multilingualprogramming-0.8.0/multilingualprogramming/codegen/wat_generator_expression.py +295 -0
  33. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/codegen/wat_generator_loop.py +83 -3
  34. multilingualprogramming-0.8.0/multilingualprogramming/codegen/wat_generator_manifest.py +490 -0
  35. multilingualprogramming-0.8.0/multilingualprogramming/codegen/wat_generator_match.py +348 -0
  36. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/codegen/wat_generator_oop.py +125 -32
  37. multilingualprogramming-0.8.0/multilingualprogramming/codegen/wat_generator_orchestrator.py +330 -0
  38. multilingualprogramming-0.8.0/multilingualprogramming/codegen/wat_generator_print.py +392 -0
  39. multilingualprogramming-0.8.0/multilingualprogramming/codegen/wat_generator_runtime.py +1956 -0
  40. multilingualprogramming-0.8.0/multilingualprogramming/codegen/wat_generator_sequence.py +1012 -0
  41. multilingualprogramming-0.8.0/multilingualprogramming/codegen/wat_generator_support.py +261 -0
  42. multilingualprogramming-0.8.0/multilingualprogramming/codegen/wat_ir_adapter.py +762 -0
  43. multilingualprogramming-0.8.0/multilingualprogramming/core/__init__.py +29 -0
  44. multilingualprogramming-0.8.0/multilingualprogramming/core/effects.py +27 -0
  45. multilingualprogramming-0.8.0/multilingualprogramming/core/ir_nodes.py +1144 -0
  46. {multilingualprogramming-0.6.0/multilingualprogramming/parser → multilingualprogramming-0.8.0/multilingualprogramming/core}/semantic_analyzer.py +541 -145
  47. multilingualprogramming-0.8.0/multilingualprogramming/core/semantic_lowering.py +1872 -0
  48. multilingualprogramming-0.8.0/multilingualprogramming/core/types.py +114 -0
  49. multilingualprogramming-0.8.0/multilingualprogramming/core/validators.py +296 -0
  50. multilingualprogramming-0.8.0/multilingualprogramming/datetime/__init__.py +11 -0
  51. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/imports.py +19 -17
  52. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/keyword/keyword_registry.py +33 -5
  53. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/lexer/lexer.py +53 -5
  54. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/parser/__init__.py +0 -3
  55. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/parser/ast_nodes.py +118 -3
  56. multilingualprogramming-0.8.0/multilingualprogramming/parser/lexer.py +11 -0
  57. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/parser/parser.py +701 -16
  58. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/resources/usm/builtins_aliases.json +354 -9
  59. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/resources/usm/keywords.json +706 -22
  60. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/resources/usm/operators.json +65 -0
  61. multilingualprogramming-0.8.0/multilingualprogramming/resources/usm/ui_lowering.json +275 -0
  62. multilingualprogramming-0.8.0/multilingualprogramming/runtime/__init__.py +149 -0
  63. multilingualprogramming-0.8.0/multilingualprogramming/runtime/ai_runtime.py +292 -0
  64. multilingualprogramming-0.8.0/multilingualprogramming/runtime/ai_types.py +191 -0
  65. multilingualprogramming-0.8.0/multilingualprogramming/runtime/anthropic_provider.py +272 -0
  66. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/runtime/backend_selector.py +64 -7
  67. multilingualprogramming-0.8.0/multilingualprogramming/runtime/channel.py +104 -0
  68. multilingualprogramming-0.8.0/multilingualprogramming/runtime/inference_cache.py +236 -0
  69. multilingualprogramming-0.8.0/multilingualprogramming/runtime/memory_store.py +150 -0
  70. multilingualprogramming-0.8.0/multilingualprogramming/runtime/model_registry.py +321 -0
  71. multilingualprogramming-0.8.0/multilingualprogramming/runtime/multimodal_runtime.py +252 -0
  72. multilingualprogramming-0.8.0/multilingualprogramming/runtime/observability.py +173 -0
  73. multilingualprogramming-0.8.0/multilingualprogramming/runtime/ollama_provider.py +320 -0
  74. multilingualprogramming-0.8.0/multilingualprogramming/runtime/openai_provider.py +265 -0
  75. multilingualprogramming-0.8.0/multilingualprogramming/runtime/placement.py +60 -0
  76. multilingualprogramming-0.8.0/multilingualprogramming/runtime/prompt_optimizer.py +302 -0
  77. multilingualprogramming-0.8.0/multilingualprogramming/runtime/reactive.py +302 -0
  78. multilingualprogramming-0.8.0/multilingualprogramming/runtime/retrieval_runtime.py +143 -0
  79. multilingualprogramming-0.8.0/multilingualprogramming/runtime/semantic_match.py +115 -0
  80. multilingualprogramming-0.8.0/multilingualprogramming/runtime/swarm.py +131 -0
  81. multilingualprogramming-0.8.0/multilingualprogramming/runtime/tool_runtime.py +264 -0
  82. multilingualprogramming-0.8.0/multilingualprogramming/source_extensions.py +55 -0
  83. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/version.py +1 -1
  84. multilingualprogramming-0.8.0/multilingualprogramming.egg-info/PKG-INFO +288 -0
  85. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming.egg-info/SOURCES.txt +54 -3
  86. multilingualprogramming-0.8.0/multilingualprogramming.egg-info/requires.txt +26 -0
  87. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/pyproject.toml +13 -2
  88. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/setup.py +2 -1
  89. multilingualprogramming-0.6.0/PKG-INFO +0 -416
  90. multilingualprogramming-0.6.0/README.md +0 -380
  91. multilingualprogramming-0.6.0/multilingualprogramming/__main__.py +0 -410
  92. multilingualprogramming-0.6.0/multilingualprogramming/codegen/python_generator.py +0 -620
  93. multilingualprogramming-0.6.0/multilingualprogramming/codegen/runtime_builtins.py +0 -354
  94. multilingualprogramming-0.6.0/multilingualprogramming/codegen/wat_generator.py +0 -1649
  95. multilingualprogramming-0.6.0/multilingualprogramming/codegen/wat_generator_core.py +0 -100
  96. multilingualprogramming-0.6.0/multilingualprogramming/codegen/wat_generator_expression.py +0 -109
  97. multilingualprogramming-0.6.0/multilingualprogramming/codegen/wat_generator_manifest.py +0 -259
  98. multilingualprogramming-0.6.0/multilingualprogramming/codegen/wat_generator_match.py +0 -191
  99. multilingualprogramming-0.6.0/multilingualprogramming/codegen/wat_generator_support.py +0 -161
  100. multilingualprogramming-0.6.0/multilingualprogramming/core/__init__.py +0 -12
  101. multilingualprogramming-0.6.0/multilingualprogramming/core/ir.py +0 -29
  102. multilingualprogramming-0.6.0/multilingualprogramming/core/lowering.py +0 -24
  103. multilingualprogramming-0.6.0/multilingualprogramming/datetime/__init__.py +0 -11
  104. multilingualprogramming-0.6.0/multilingualprogramming.egg-info/PKG-INFO +0 -416
  105. multilingualprogramming-0.6.0/multilingualprogramming.egg-info/requires.txt +0 -14
  106. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/LICENSE +0 -0
  107. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/codegen/__init__.py +0 -0
  108. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/codegen/encoding_guard.py +0 -0
  109. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/codegen/repl.py +0 -0
  110. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/codegen/wasm_generator.py +0 -0
  111. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/datetime/date_parser.py +0 -0
  112. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/datetime/mp_date.py +0 -0
  113. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/datetime/mp_datetime.py +0 -0
  114. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/datetime/mp_time.py +0 -0
  115. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/datetime/resource_loader.py +0 -0
  116. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/exceptions.py +0 -0
  117. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/keyword/__init__.py +0 -0
  118. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/keyword/keyword_validator.py +0 -0
  119. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/keyword/language_pack_validator.py +0 -0
  120. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/lexer/__init__.py +0 -0
  121. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/lexer/source_reader.py +0 -0
  122. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/lexer/token.py +0 -0
  123. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/lexer/token_types.py +0 -0
  124. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/numeral/__init__.py +0 -0
  125. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/numeral/abstract_numeral.py +0 -0
  126. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/numeral/complex_numeral.py +0 -0
  127. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/numeral/fraction_numeral.py +0 -0
  128. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/numeral/mp_numeral.py +0 -0
  129. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/numeral/numeral_converter.py +0 -0
  130. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/numeral/roman_numeral.py +0 -0
  131. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/numeral/unicode_numeral.py +0 -0
  132. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/parser/ast_printer.py +0 -0
  133. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/parser/error_messages.py +0 -0
  134. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/parser/surface_normalizer.py +0 -0
  135. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/resources/datetime/eras.json +0 -0
  136. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/resources/datetime/formats.json +0 -0
  137. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/resources/datetime/months.json +0 -0
  138. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/resources/datetime/weekdays.json +0 -0
  139. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/resources/parser/error_messages.json +0 -0
  140. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/resources/repl/commands.json +0 -0
  141. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/resources/usm/schema.json +0 -0
  142. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/resources/usm/surface_patterns.json +0 -0
  143. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/runtime/numeric_primitives.py +0 -0
  144. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/runtime/python_fallbacks.py +0 -0
  145. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/unicode_string.py +0 -0
  146. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/wasm/loader.py +0 -0
  147. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/wasm/tuple_abi.py +0 -0
  148. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming/wasm/tuple_memory.py +0 -0
  149. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming.egg-info/dependency_links.txt +0 -0
  150. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming.egg-info/entry_points.txt +0 -0
  151. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/multilingualprogramming.egg-info/top_level.txt +0 -0
  152. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/setup.cfg +0 -0
  153. {multilingualprogramming-0.6.0 → multilingualprogramming-0.8.0}/tests/tests.py +0 -0
@@ -0,0 +1,288 @@
1
+ Metadata-Version: 2.4
2
+ Name: multilingualprogramming
3
+ Version: 0.8.0
4
+ Summary: Python application for multilingual programming
5
+ Author-email: John Samuel <johnsamuelwrites@example.com>
6
+ License-Expression: GPL-3.0-or-later
7
+ Project-URL: Homepage, https://github.com/johnsamuelwrites/multilingual
8
+ Project-URL: Documentation, https://johnsamuel.info/multilingual/
9
+ Project-URL: Repository, https://github.com/johnsamuelwrites/multilingual
10
+ Project-URL: Issues, https://github.com/johnsamuelwrites/multilingual/issues
11
+ Project-URL: Changelog, https://github.com/johnsamuelwrites/multilingual/blob/main/CHANGELOG.md
12
+ Keywords: programming-language,multilingual,compiler,transpiler,education
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Topic :: Software Development :: Compilers
18
+ Classifier: Topic :: Software Development :: Interpreters
19
+ Classifier: Development Status :: 4 - Beta
20
+ Requires-Python: >=3.12
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Requires-Dist: roman>=3.3
24
+ Requires-Dist: python-dateutil>=2.8
25
+ Provides-Extra: dev
26
+ Requires-Dist: pytest; extra == "dev"
27
+ Requires-Dist: pytest-cov; extra == "dev"
28
+ Requires-Dist: pylint; extra == "dev"
29
+ Provides-Extra: wasm
30
+ Requires-Dist: wasmtime>=1.0.0; extra == "wasm"
31
+ Provides-Extra: ai
32
+ Requires-Dist: openai>=1.0.0; extra == "ai"
33
+ Requires-Dist: anthropic>=0.25.0; extra == "ai"
34
+ Requires-Dist: ollama>=0.2.0; extra == "ai"
35
+ Provides-Extra: performance
36
+ Requires-Dist: wasmtime>=1.0.0; extra == "performance"
37
+ Requires-Dist: numpy>=1.20.0; extra == "performance"
38
+ Provides-Extra: all
39
+ Requires-Dist: wasmtime>=1.0.0; extra == "all"
40
+ Requires-Dist: numpy>=1.20.0; extra == "all"
41
+ Requires-Dist: openai>=1.0.0; extra == "all"
42
+ Requires-Dist: anthropic>=0.25.0; extra == "all"
43
+ Requires-Dist: ollama>=0.2.0; extra == "all"
44
+ Dynamic: license-file
45
+
46
+ # multilingual
47
+ Not yet another programming language. A multilingual one.
48
+
49
+ > **One semantic core. Many human languages.**
50
+ >
51
+ > Build software through human-language-first syntax with native support for AI,
52
+ > multimodal workflows, reactive interfaces, and portable execution.
53
+
54
+ ## Vision
55
+
56
+ `multilingual` is becoming a programming language for the age of human
57
+ language, AI, multimodal computing, and living interfaces.
58
+
59
+ Its purpose is bigger than keyword translation. The goal is to make it possible
60
+ to express the same precise program semantics across human languages while also
61
+ making modern software primitives feel native:
62
+
63
+ - structured data and pattern matching
64
+ - AI generation, extraction, planning, and tool use
65
+ - multimodal input and output
66
+ - reactive state and interfaces
67
+ - portable execution across environments
68
+
69
+ Read the language direction here:
70
+
71
+ - Vision: [docs/vision.md](docs/vision.md)
72
+ - Core 1.0: [docs/spec/core_1_0.md](docs/spec/core_1_0.md)
73
+ - 1.0 roadmap: [docs/roadmaps/multilingual_1_0.md](docs/roadmaps/multilingual_1_0.md)
74
+
75
+ ## Strategic Direction
76
+
77
+ The project is moving toward a clearer identity:
78
+
79
+ - one semantic programming model expressed through many human languages
80
+ - first-class semantics for AI, retrieval, tools, and multimodal workflows
81
+ - structured concurrency, observability, memory, and agent coordination
82
+ - reactive and distributed programs that span browser, device, edge, and cloud
83
+ - portable execution where semantics stay stable while backends adapt
84
+
85
+ The repository already contains early pieces of that future, but the current
86
+ implementation is still a transitional platform between the historical
87
+ multilingual compiler pipeline and the fuller Core 1.0 language model.
88
+
89
+ ## What Multilingual Is
90
+
91
+ - a human-language-first programming language
92
+ - a shared semantic model expressed through multiple language surfaces
93
+ - an AI-native language platform, not just a syntax experiment
94
+ - a research and implementation space for multilingual programming systems
95
+
96
+ ## Why Multilingual
97
+
98
+ - **Human-language-first programming**: code should not force people to abandon
99
+ their language or mode of expression.
100
+ - **Shared semantics**: different human-language surfaces should express the
101
+ same underlying program.
102
+ - **AI-native direction**: models, tools, retrieval, and semantic workflows are
103
+ becoming first-class language concepts.
104
+ - **Portable architecture**: one language should move across runtimes and
105
+ environments without losing meaning.
106
+
107
+ ### Pipeline Illustration
108
+
109
+ ![Multilingual pipeline with surface normalization](docs/assets/multilingual_pipeline_surface.svg)
110
+
111
+ ## Current Platform
112
+
113
+ Today the repository already provides:
114
+
115
+ - multilingual frontends driven by the USM keyword model
116
+ - a shared parser, AST, and semantic-IR direction
117
+ - semantic analysis plus Python and WAT/WASM code generation
118
+ - Python execution support
119
+ - WAT/WASM generation and backend selection
120
+ - browser demos and DOM-oriented workflows
121
+
122
+ This is an active language platform in motion, not just a whitepaper.
123
+
124
+ ## Current Limitations
125
+
126
+ - the current semantic core is still thinner than the long-term Core 1.0 model
127
+ - some localized surfaces still feel less natural than they should
128
+ - parts of the implementation still reflect the historical compiler pipeline
129
+ more than the future language experience
130
+ - AI-native, multimodal, reactive, concurrent, and distributed constructs are
131
+ in mixed stages of design, prototyping, and rollout
132
+ - documentation still needs ongoing migration from "current compiler" wording
133
+ toward "future language platform" wording
134
+
135
+ Details:
136
+
137
+ - Word order and naturalness: [docs/word_order_and_naturalness.md](docs/word_order_and_naturalness.md)
138
+ - Controlled language scope: [docs/cnl_scope.md](docs/cnl_scope.md)
139
+ - Current compatibility matrix: [docs/compatibility_matrix.md](docs/compatibility_matrix.md)
140
+
141
+ ## Quick Start
142
+
143
+ Source files now prefer the `.multi` extension. The legacy `.ml` extension
144
+ remains fully supported for compatibility. Running the current implementation
145
+ requires Python 3.12 or newer.
146
+
147
+ ### Try The Playground
148
+
149
+ You can try `multilingual` directly in your browser:
150
+
151
+ - Playground: https://johnsamuel.info/multilingual/playground.html
152
+
153
+ The playground lets you:
154
+
155
+ - write code in supported human languages
156
+ - run execution in Pyodide
157
+ - inspect generated Python
158
+ - inspect generated WAT/WASM output
159
+ - inspect generated Wasmtime bridge code
160
+
161
+ ## Install
162
+
163
+ PyPI package: https://pypi.org/project/multilingualprogramming/
164
+
165
+ Option 1:
166
+
167
+ ```bash
168
+ python3 -m venv .venv
169
+ source .venv/bin/activate
170
+ python -m pip install --upgrade pip
171
+ python -m pip install multilingualprogramming
172
+ ```
173
+
174
+ Option 2:
175
+
176
+ ```bash
177
+ pipx install multilingualprogramming
178
+ ```
179
+
180
+ For local development from source:
181
+
182
+ ```bash
183
+ pip install -r requirements.txt
184
+ pip install .
185
+ ```
186
+
187
+ Optional runtime extras:
188
+
189
+ ```bash
190
+ pip install "multilingualprogramming[wasm]"
191
+ pip install "multilingualprogramming[ai]"
192
+ pip install "multilingualprogramming[all]"
193
+ ```
194
+
195
+ ## Hello World
196
+
197
+ ```text
198
+ # English
199
+ print("Hello world")
200
+
201
+ # French
202
+ afficher("Bonjour le monde")
203
+
204
+ # Spanish
205
+ imprimir("Hola mundo")
206
+ ```
207
+
208
+ ## Use the REPL
209
+
210
+ ```bash
211
+ multilingual
212
+ multilingual repl
213
+ multilingual repl --lang fr
214
+ multilingual repl --show-python
215
+ multilingual repl --show-wat
216
+ multilingual repl --show-rust
217
+ ```
218
+
219
+ REPL commands:
220
+
221
+ - `:help` show commands
222
+ - `:language <code>` switch language
223
+ - `:python` toggle generated Python display
224
+ - `:wat` toggle generated WAT display
225
+ - `:rust` toggle generated Wasmtime bridge display
226
+ - `:reset` clear session state
227
+ - `:kw [XX]` show language keywords
228
+ - `:ops [XX]` show operators and symbols
229
+ - `:q` exit
230
+
231
+ ## Run a Program
232
+
233
+ ```bash
234
+ multilingual hello_en.multi
235
+ multilingual run hello_en.multi
236
+ multilingual run hello_fr.multi --lang fr
237
+ multilingual run hello_en.multi --show-backend
238
+ ```
239
+
240
+ ## Cross-Language Module Imports
241
+
242
+ You can import `.multi` and `.ml` modules across language surfaces in one program.
243
+
244
+ `module_fr.multi`:
245
+
246
+ ```text
247
+ soit valeur = 41
248
+ def incremente(x):
249
+ retour x + 1
250
+ ```
251
+
252
+ `main_en.multi`:
253
+
254
+ ```text
255
+ import module_fr
256
+ print(module_fr.incremente(module_fr.valeur))
257
+ ```
258
+
259
+ Run:
260
+
261
+ ```bash
262
+ multilingual run main_en.multi --lang en
263
+ ```
264
+
265
+ ## Roadmap
266
+
267
+ Near-term priorities:
268
+
269
+ - stabilize the Core 1.0 semantic model
270
+ - strengthen the semantic IR and capability-aware analysis pipeline
271
+ - ship more unmistakable language features such as `fn`, `var`, `enum`, `|>`,
272
+ `par`, `spawn`, `memory`, and observability primitives
273
+ - continue building AI-native, multimodal, reactive, and distributed features
274
+ on top of that core
275
+
276
+ See:
277
+
278
+ - [docs/roadmaps/multilingual_1_0.md](docs/roadmaps/multilingual_1_0.md)
279
+
280
+ ## More Documentation
281
+
282
+ - Usage examples: [USAGE.md](USAGE.md)
283
+ - Language design overview: [docs/design.md](docs/design.md)
284
+ - Frontend contracts: [docs/frontend_contracts.md](docs/frontend_contracts.md)
285
+ - Core spec draft: [docs/spec/core_1_0.md](docs/spec/core_1_0.md)
286
+
287
+ ## Architect and Creator
288
+ - John Samuel
@@ -0,0 +1,243 @@
1
+ # multilingual
2
+ Not yet another programming language. A multilingual one.
3
+
4
+ > **One semantic core. Many human languages.**
5
+ >
6
+ > Build software through human-language-first syntax with native support for AI,
7
+ > multimodal workflows, reactive interfaces, and portable execution.
8
+
9
+ ## Vision
10
+
11
+ `multilingual` is becoming a programming language for the age of human
12
+ language, AI, multimodal computing, and living interfaces.
13
+
14
+ Its purpose is bigger than keyword translation. The goal is to make it possible
15
+ to express the same precise program semantics across human languages while also
16
+ making modern software primitives feel native:
17
+
18
+ - structured data and pattern matching
19
+ - AI generation, extraction, planning, and tool use
20
+ - multimodal input and output
21
+ - reactive state and interfaces
22
+ - portable execution across environments
23
+
24
+ Read the language direction here:
25
+
26
+ - Vision: [docs/vision.md](docs/vision.md)
27
+ - Core 1.0: [docs/spec/core_1_0.md](docs/spec/core_1_0.md)
28
+ - 1.0 roadmap: [docs/roadmaps/multilingual_1_0.md](docs/roadmaps/multilingual_1_0.md)
29
+
30
+ ## Strategic Direction
31
+
32
+ The project is moving toward a clearer identity:
33
+
34
+ - one semantic programming model expressed through many human languages
35
+ - first-class semantics for AI, retrieval, tools, and multimodal workflows
36
+ - structured concurrency, observability, memory, and agent coordination
37
+ - reactive and distributed programs that span browser, device, edge, and cloud
38
+ - portable execution where semantics stay stable while backends adapt
39
+
40
+ The repository already contains early pieces of that future, but the current
41
+ implementation is still a transitional platform between the historical
42
+ multilingual compiler pipeline and the fuller Core 1.0 language model.
43
+
44
+ ## What Multilingual Is
45
+
46
+ - a human-language-first programming language
47
+ - a shared semantic model expressed through multiple language surfaces
48
+ - an AI-native language platform, not just a syntax experiment
49
+ - a research and implementation space for multilingual programming systems
50
+
51
+ ## Why Multilingual
52
+
53
+ - **Human-language-first programming**: code should not force people to abandon
54
+ their language or mode of expression.
55
+ - **Shared semantics**: different human-language surfaces should express the
56
+ same underlying program.
57
+ - **AI-native direction**: models, tools, retrieval, and semantic workflows are
58
+ becoming first-class language concepts.
59
+ - **Portable architecture**: one language should move across runtimes and
60
+ environments without losing meaning.
61
+
62
+ ### Pipeline Illustration
63
+
64
+ ![Multilingual pipeline with surface normalization](docs/assets/multilingual_pipeline_surface.svg)
65
+
66
+ ## Current Platform
67
+
68
+ Today the repository already provides:
69
+
70
+ - multilingual frontends driven by the USM keyword model
71
+ - a shared parser, AST, and semantic-IR direction
72
+ - semantic analysis plus Python and WAT/WASM code generation
73
+ - Python execution support
74
+ - WAT/WASM generation and backend selection
75
+ - browser demos and DOM-oriented workflows
76
+
77
+ This is an active language platform in motion, not just a whitepaper.
78
+
79
+ ## Current Limitations
80
+
81
+ - the current semantic core is still thinner than the long-term Core 1.0 model
82
+ - some localized surfaces still feel less natural than they should
83
+ - parts of the implementation still reflect the historical compiler pipeline
84
+ more than the future language experience
85
+ - AI-native, multimodal, reactive, concurrent, and distributed constructs are
86
+ in mixed stages of design, prototyping, and rollout
87
+ - documentation still needs ongoing migration from "current compiler" wording
88
+ toward "future language platform" wording
89
+
90
+ Details:
91
+
92
+ - Word order and naturalness: [docs/word_order_and_naturalness.md](docs/word_order_and_naturalness.md)
93
+ - Controlled language scope: [docs/cnl_scope.md](docs/cnl_scope.md)
94
+ - Current compatibility matrix: [docs/compatibility_matrix.md](docs/compatibility_matrix.md)
95
+
96
+ ## Quick Start
97
+
98
+ Source files now prefer the `.multi` extension. The legacy `.ml` extension
99
+ remains fully supported for compatibility. Running the current implementation
100
+ requires Python 3.12 or newer.
101
+
102
+ ### Try The Playground
103
+
104
+ You can try `multilingual` directly in your browser:
105
+
106
+ - Playground: https://johnsamuel.info/multilingual/playground.html
107
+
108
+ The playground lets you:
109
+
110
+ - write code in supported human languages
111
+ - run execution in Pyodide
112
+ - inspect generated Python
113
+ - inspect generated WAT/WASM output
114
+ - inspect generated Wasmtime bridge code
115
+
116
+ ## Install
117
+
118
+ PyPI package: https://pypi.org/project/multilingualprogramming/
119
+
120
+ Option 1:
121
+
122
+ ```bash
123
+ python3 -m venv .venv
124
+ source .venv/bin/activate
125
+ python -m pip install --upgrade pip
126
+ python -m pip install multilingualprogramming
127
+ ```
128
+
129
+ Option 2:
130
+
131
+ ```bash
132
+ pipx install multilingualprogramming
133
+ ```
134
+
135
+ For local development from source:
136
+
137
+ ```bash
138
+ pip install -r requirements.txt
139
+ pip install .
140
+ ```
141
+
142
+ Optional runtime extras:
143
+
144
+ ```bash
145
+ pip install "multilingualprogramming[wasm]"
146
+ pip install "multilingualprogramming[ai]"
147
+ pip install "multilingualprogramming[all]"
148
+ ```
149
+
150
+ ## Hello World
151
+
152
+ ```text
153
+ # English
154
+ print("Hello world")
155
+
156
+ # French
157
+ afficher("Bonjour le monde")
158
+
159
+ # Spanish
160
+ imprimir("Hola mundo")
161
+ ```
162
+
163
+ ## Use the REPL
164
+
165
+ ```bash
166
+ multilingual
167
+ multilingual repl
168
+ multilingual repl --lang fr
169
+ multilingual repl --show-python
170
+ multilingual repl --show-wat
171
+ multilingual repl --show-rust
172
+ ```
173
+
174
+ REPL commands:
175
+
176
+ - `:help` show commands
177
+ - `:language <code>` switch language
178
+ - `:python` toggle generated Python display
179
+ - `:wat` toggle generated WAT display
180
+ - `:rust` toggle generated Wasmtime bridge display
181
+ - `:reset` clear session state
182
+ - `:kw [XX]` show language keywords
183
+ - `:ops [XX]` show operators and symbols
184
+ - `:q` exit
185
+
186
+ ## Run a Program
187
+
188
+ ```bash
189
+ multilingual hello_en.multi
190
+ multilingual run hello_en.multi
191
+ multilingual run hello_fr.multi --lang fr
192
+ multilingual run hello_en.multi --show-backend
193
+ ```
194
+
195
+ ## Cross-Language Module Imports
196
+
197
+ You can import `.multi` and `.ml` modules across language surfaces in one program.
198
+
199
+ `module_fr.multi`:
200
+
201
+ ```text
202
+ soit valeur = 41
203
+ def incremente(x):
204
+ retour x + 1
205
+ ```
206
+
207
+ `main_en.multi`:
208
+
209
+ ```text
210
+ import module_fr
211
+ print(module_fr.incremente(module_fr.valeur))
212
+ ```
213
+
214
+ Run:
215
+
216
+ ```bash
217
+ multilingual run main_en.multi --lang en
218
+ ```
219
+
220
+ ## Roadmap
221
+
222
+ Near-term priorities:
223
+
224
+ - stabilize the Core 1.0 semantic model
225
+ - strengthen the semantic IR and capability-aware analysis pipeline
226
+ - ship more unmistakable language features such as `fn`, `var`, `enum`, `|>`,
227
+ `par`, `spawn`, `memory`, and observability primitives
228
+ - continue building AI-native, multimodal, reactive, and distributed features
229
+ on top of that core
230
+
231
+ See:
232
+
233
+ - [docs/roadmaps/multilingual_1_0.md](docs/roadmaps/multilingual_1_0.md)
234
+
235
+ ## More Documentation
236
+
237
+ - Usage examples: [USAGE.md](USAGE.md)
238
+ - Language design overview: [docs/design.md](docs/design.md)
239
+ - Frontend contracts: [docs/frontend_contracts.md](docs/frontend_contracts.md)
240
+ - Core spec draft: [docs/spec/core_1_0.md](docs/spec/core_1_0.md)
241
+
242
+ ## Architect and Creator
243
+ - John Samuel
@@ -25,7 +25,7 @@ from multilingualprogramming.lexer.token import Token
25
25
  from multilingualprogramming.lexer.token_types import TokenType
26
26
  from multilingualprogramming.parser.parser import Parser
27
27
  from multilingualprogramming.parser.ast_printer import ASTPrinter
28
- from multilingualprogramming.parser.semantic_analyzer import (
28
+ from multilingualprogramming.core.semantic_analyzer import (
29
29
  Symbol, Scope, SymbolTable, SemanticAnalyzer,
30
30
  )
31
31
  from multilingualprogramming.parser.error_messages import ErrorMessageRegistry
@@ -34,8 +34,6 @@ from multilingualprogramming.codegen.wat_generator import WATCodeGenerator
34
34
  from multilingualprogramming.codegen.runtime_builtins import RuntimeBuiltins
35
35
  from multilingualprogramming.codegen.executor import ProgramExecutor, ExecutionResult
36
36
  from multilingualprogramming.codegen.repl import REPL
37
- from multilingualprogramming.core.ir import CoreIRProgram
38
- from multilingualprogramming.core.lowering import lower_to_core_ir
39
37
  from multilingualprogramming.runtime.numeric_primitives import (
40
38
  Vec2,
41
39
  ComplexScalar,
@@ -76,8 +74,6 @@ __all__ = [
76
74
  "ProgramExecutor",
77
75
  "ExecutionResult",
78
76
  "REPL",
79
- "CoreIRProgram",
80
- "lower_to_core_ir",
81
77
  "Vec2",
82
78
  "ComplexScalar",
83
79
  "FastRNG",