osiris-lang 0.2.2__tar.gz → 0.2.3__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 (367) hide show
  1. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/Cargo.lock +335 -1
  2. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/Cargo.toml +4 -1
  3. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/PKG-INFO +94 -22
  4. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/README.md +93 -21
  5. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/docs/language-design.md +26 -31
  6. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/examples/hello.osr +1 -1
  7. osiris_lang-0.2.3/osiris.jsonc +8 -0
  8. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/pyproject.toml +0 -8
  9. osiris_lang-0.2.3/schemas/osiris.schema.json +43 -0
  10. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/declarations/imports.rs +15 -2
  11. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/lib.rs +9 -0
  12. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/main.rs +12 -0
  13. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris/__init__.py +18 -9
  14. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris_build/_model.py +3 -1
  15. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris_build/_project.py +119 -16
  16. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris_build/_requirements.py +3 -48
  17. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris_build/_wheel.py +39 -3
  18. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/dependency/mod.rs +1 -1
  19. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/dependency/model.rs +9 -0
  20. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/dependency/resolve.rs +4 -17
  21. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/dependency/tests.rs +7 -16
  22. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/extension/discovery.rs +34 -14
  23. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/extension/tests.rs +19 -1
  24. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/project/config.rs +53 -135
  25. osiris_lang-0.2.3/src/packaging/project/jsonc.rs +55 -0
  26. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/project/mod.rs +1 -0
  27. osiris_lang-0.2.3/src/packaging/project/model.rs +50 -0
  28. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/project/tests.rs +71 -48
  29. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/cli/extensions/load.rs +4 -11
  30. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/cli/init.rs +167 -68
  31. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/cli/mod.rs +4 -1
  32. osiris_lang-0.2.3/src/tooling/cli/watch.rs +148 -0
  33. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/cli/workspace.rs +7 -3
  34. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/state/documents.rs +3 -0
  35. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/state/model.rs +5 -1
  36. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/state/queries.rs +18 -4
  37. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/tests/signatures.rs +6 -2
  38. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/tests/workspace.rs +27 -3
  39. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/workspace.rs +1 -4
  40. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/cli/compilation.rs +70 -7
  41. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/cli/execution.rs +16 -4
  42. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/cli/initialization.rs +103 -5
  43. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/cli/inspection.rs +6 -1
  44. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/cli/protocol.rs +6 -1
  45. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/test_osiris_build.py +54 -32
  46. osiris_lang-0.2.2/src/packaging/project/model.rs +0 -92
  47. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/.github/workflows/publish-pypi.yml +0 -0
  48. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/.github/workflows/release-vscode.yml +0 -0
  49. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/.gitignore +0 -0
  50. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/.python-version +0 -0
  51. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/LICENSE +0 -0
  52. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/docs/architecture.md +0 -0
  53. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/docs/releasing.md +0 -0
  54. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/editors/vscode/.vscodeignore +0 -0
  55. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/editors/vscode/CHANGELOG.md +0 -0
  56. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/editors/vscode/LICENSE +0 -0
  57. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/editors/vscode/README.md +0 -0
  58. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/editors/vscode/esbuild.mjs +0 -0
  59. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/editors/vscode/language-configuration.json +0 -0
  60. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/editors/vscode/package-lock.json +0 -0
  61. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/editors/vscode/package.json +0 -0
  62. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/editors/vscode/scripts/validate-manifest.mjs +0 -0
  63. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/editors/vscode/src/extension.ts +0 -0
  64. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/editors/vscode/syntaxes/osiris.tmLanguage.json +0 -0
  65. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/editors/vscode/tsconfig.json +0 -0
  66. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/examples/README.md +0 -0
  67. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/examples/tutorial/app.osr +0 -0
  68. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/examples/tutorial/macros.osr +0 -0
  69. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/examples/tutorial/transforms.osr +0 -0
  70. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/ast/mod.rs +0 -0
  71. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/ast/printer/expressions.rs +0 -0
  72. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/ast/printer/statements.rs +0 -0
  73. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/ast/printer/validation.rs +0 -0
  74. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/ast/printer.rs +0 -0
  75. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/ast/tests.rs +0 -0
  76. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/bindings.rs +0 -0
  77. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/control.rs +0 -0
  78. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/declarations.rs +0 -0
  79. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/expressions.rs +0 -0
  80. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/mod.rs +0 -0
  81. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/setup.rs +0 -0
  82. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/source_map/mod.rs +0 -0
  83. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/source_map/tests.rs +0 -0
  84. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/support.rs +0 -0
  85. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/backend/python/tests.rs +0 -0
  86. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/control/concurrency.rs +0 -0
  87. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/control/dynamic.rs +0 -0
  88. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/control/intrinsics.rs +0 -0
  89. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/control/lazy.rs +0 -0
  90. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/control/mod.rs +0 -0
  91. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/control/recursion.rs +0 -0
  92. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/control/resources.rs +0 -0
  93. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/control/trampoline.rs +0 -0
  94. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/declarations/bindings.rs +0 -0
  95. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/declarations/lower.rs +0 -0
  96. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/declarations/mod.rs +0 -0
  97. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/declarations/predeclare.rs +0 -0
  98. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/declarations/setup.rs +0 -0
  99. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/declarations/validate.rs +0 -0
  100. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/expressions/body.rs +0 -0
  101. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/expressions/calls.rs +0 -0
  102. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/expressions/names.rs +0 -0
  103. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/expressions/patterns.rs +0 -0
  104. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/expressions/values.rs +0 -0
  105. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/expressions.rs +0 -0
  106. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/mod.rs +0 -0
  107. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/sequences/iteration.rs +0 -0
  108. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/sequences/map.rs +0 -0
  109. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/sequences/operations.rs +0 -0
  110. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/sequences/reduce.rs +0 -0
  111. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/sequences/support.rs +0 -0
  112. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/sequences.rs +0 -0
  113. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/support/calls.rs +0 -0
  114. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/support/intrinsics.rs +0 -0
  115. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/support/lambda.rs +0 -0
  116. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/support/mod.rs +0 -0
  117. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/support/operators.rs +0 -0
  118. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/lower/support/scope.rs +0 -0
  119. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/metadata.rs +0 -0
  120. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/mod.rs +0 -0
  121. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/model.rs +0 -0
  122. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/operators.rs +0 -0
  123. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/patterns.rs +0 -0
  124. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/sequence_operations.rs +0 -0
  125. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/tests/contracts.rs +0 -0
  126. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/tests/imports.rs +0 -0
  127. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/tests/operators.rs +0 -0
  128. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/tests/structs.rs +0 -0
  129. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/tests.rs +0 -0
  130. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/hir/type_resolution.rs +0 -0
  131. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/collections.rs +0 -0
  132. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/declarations.rs +0 -0
  133. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/expander/builtins.rs +0 -0
  134. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/expander/eval.rs +0 -0
  135. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/expander/expand.rs +0 -0
  136. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/expander/quote.rs +0 -0
  137. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/expander/registry.rs +0 -0
  138. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/expander.rs +0 -0
  139. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/forms.rs +0 -0
  140. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/mod.rs +0 -0
  141. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/numbers.rs +0 -0
  142. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/tests/comprehensions.rs +0 -0
  143. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/tests/control.rs +0 -0
  144. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/tests/hygiene.rs +0 -0
  145. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/tests/modules.rs +0 -0
  146. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/macro/tests.rs +0 -0
  147. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/mod.rs +0 -0
  148. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/module_graph/dependency.rs +0 -0
  149. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/module_graph/error.rs +0 -0
  150. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/module_graph/io.rs +0 -0
  151. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/module_graph/mod.rs +0 -0
  152. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/module_graph/resolution.rs +0 -0
  153. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/module_graph/tests.rs +0 -0
  154. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/support.rs +0 -0
  155. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/tests/cycles.rs +0 -0
  156. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/tests/macros_and_records.rs +0 -0
  157. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/tests/workspace.rs +0 -0
  158. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/tests.rs +0 -0
  159. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/compiler/workspace.rs +0 -0
  160. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/analysis.rs +0 -0
  161. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/datum/decode.rs +0 -0
  162. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/datum/json.rs +0 -0
  163. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/datum/model.rs +0 -0
  164. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/datum.rs +0 -0
  165. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/index.rs +0 -0
  166. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/mod.rs +0 -0
  167. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/record/model.rs +0 -0
  168. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/record/support.rs +0 -0
  169. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/record/validate.rs +0 -0
  170. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/record.rs +0 -0
  171. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/schema/json.rs +0 -0
  172. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/schema/model.rs +0 -0
  173. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/schema/parse.rs +0 -0
  174. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/schema/types.rs +0 -0
  175. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/schema.rs +0 -0
  176. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/sidecar/decode.rs +0 -0
  177. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/sidecar/encode.rs +0 -0
  178. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/sidecar.rs +0 -0
  179. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/extensions/static_data/tests.rs +0 -0
  180. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/lower/bindings.rs +0 -0
  181. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/lower/common.rs +0 -0
  182. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/lower/contracts.rs +0 -0
  183. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/lower/declarations.rs +0 -0
  184. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/lower/expressions.rs +0 -0
  185. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/lower/static_declarations.rs +0 -0
  186. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/lower.rs +0 -0
  187. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/mod.rs +0 -0
  188. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/model/declarations.rs +0 -0
  189. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/model/expressions.rs +0 -0
  190. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/model.rs +0 -0
  191. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/tests/declarations.rs +0 -0
  192. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/tests/forms.rs +0 -0
  193. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/tests/types_and_patterns.rs +0 -0
  194. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/ast/tests.rs +0 -0
  195. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/core_forms.rs +0 -0
  196. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/diagnostic.rs +0 -0
  197. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/lexer/mod.rs +0 -0
  198. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/lexer/tests.rs +0 -0
  199. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/name/bindings.rs +0 -0
  200. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/name/lint.rs +0 -0
  201. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/name/mod.rs +0 -0
  202. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/name/tests.rs +0 -0
  203. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/reader/datum.rs +0 -0
  204. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/reader/identity.rs +0 -0
  205. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/reader/mod.rs +0 -0
  206. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/reader/parser/atoms.rs +0 -0
  207. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/reader/parser/forms.rs +0 -0
  208. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/reader/parser/metadata.rs +0 -0
  209. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/reader/parser.rs +0 -0
  210. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/reader/tests.rs +0 -0
  211. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/source/mod.rs +0 -0
  212. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/source/tests.rs +0 -0
  213. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/syntax/equality.rs +0 -0
  214. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/syntax/metadata.rs +0 -0
  215. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/syntax/mod.rs +0 -0
  216. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/syntax/model.rs +0 -0
  217. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/syntax/tests.rs +0 -0
  218. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/types/context.rs +0 -0
  219. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/types/mod.rs +0 -0
  220. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/types/model/data.rs +0 -0
  221. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/types/model/effects.rs +0 -0
  222. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/types/model/literal.rs +0 -0
  223. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/types/model/summaries.rs +0 -0
  224. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/types/model/temporal.rs +0 -0
  225. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/types/model/type_repr.rs +0 -0
  226. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/types/model.rs +0 -0
  227. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/types/operators.rs +0 -0
  228. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/types/parse.rs +0 -0
  229. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/types/python.rs +0 -0
  230. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/language/types/tests.rs +0 -0
  231. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/lib/tests.rs +0 -0
  232. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris/_core.pyi +0 -0
  233. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris/prelude/__init__.py +0 -0
  234. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris/prelude/_sequence_consumers.py +0 -0
  235. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris/prelude/_sequence_core.py +0 -0
  236. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris/prelude/_sequence_eager.py +0 -0
  237. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris/prelude/_sequence_partitions.py +0 -0
  238. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris/prelude/_sequence_transforms.py +0 -0
  239. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris/prelude/control.py +0 -0
  240. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris/prelude/sequences.py +0 -0
  241. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris/py.typed +0 -0
  242. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris_build/__init__.py +0 -0
  243. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris_build/_api.py +0 -0
  244. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris_build/_common.py +0 -0
  245. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris_build/_interface.py +0 -0
  246. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris_build/_interface_records.py +0 -0
  247. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris_build/_sexpr.py +0 -0
  248. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/osiris_build/_sidecar.py +0 -0
  249. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/artifact/mod.rs +0 -0
  250. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/artifact/tests.rs +0 -0
  251. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/dependency/error.rs +0 -0
  252. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/dependency/lockfile.rs +0 -0
  253. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/dependency/requirement.rs +0 -0
  254. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/extension/io.rs +0 -0
  255. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/extension/mod.rs +0 -0
  256. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/extension/model.rs +0 -0
  257. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/extension/validation.rs +0 -0
  258. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/build/from_hir.rs +0 -0
  259. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/build/provisional.rs +0 -0
  260. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/build/provisional_declarations.rs +0 -0
  261. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/build/provisional_validation.rs +0 -0
  262. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/build.rs +0 -0
  263. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/common.rs +0 -0
  264. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/decode/declarations.rs +0 -0
  265. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/decode/static_data.rs +0 -0
  266. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/decode/support.rs +0 -0
  267. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/decode/type_data.rs +0 -0
  268. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/decode.rs +0 -0
  269. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/encode/declarations.rs +0 -0
  270. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/encode/graph.rs +0 -0
  271. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/encode/static_data.rs +0 -0
  272. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/encode/type_data.rs +0 -0
  273. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/encode.rs +0 -0
  274. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/mod.rs +0 -0
  275. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/model.rs +0 -0
  276. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/rules.rs +0 -0
  277. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/tests/integrity.rs +0 -0
  278. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/tests/macros_and_operators.rs +0 -0
  279. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/tests/roundtrip.rs +0 -0
  280. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/tests.rs +0 -0
  281. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/validate/metadata.rs +0 -0
  282. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/validate/model.rs +0 -0
  283. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/validate/nominal.rs +0 -0
  284. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/validate/operators.rs +0 -0
  285. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface/validate.rs +0 -0
  286. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface_graph/calculate.rs +0 -0
  287. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface_graph/graph.rs +0 -0
  288. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface_graph/mod.rs +0 -0
  289. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface_graph/model.rs +0 -0
  290. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/interface_graph/tests.rs +0 -0
  291. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/packaging/project/paths.rs +0 -0
  292. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/stdlib/macros/comprehensions.osr +0 -0
  293. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/stdlib/macros/concurrency.osr +0 -0
  294. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/stdlib/macros/control.osr +0 -0
  295. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/stdlib/macros/recursion.osr +0 -0
  296. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/support/hash.rs +0 -0
  297. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/cli/check.rs +0 -0
  298. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/cli/compile.rs +0 -0
  299. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/cli/extensions/resolver.rs +0 -0
  300. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/cli/extensions/validate.rs +0 -0
  301. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/cli/extensions.rs +0 -0
  302. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/cli/inspect.rs +0 -0
  303. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/cli/io.rs +0 -0
  304. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/cli/run.rs +0 -0
  305. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/cli/tests.rs +0 -0
  306. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/mod.rs +0 -0
  307. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/protocol.rs +0 -0
  308. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/rpc/dispatch.rs +0 -0
  309. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/rpc/machine.rs +0 -0
  310. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/rpc/params.rs +0 -0
  311. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/rpc/support.rs +0 -0
  312. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/rpc.rs +0 -0
  313. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/signature.rs +0 -0
  314. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/state/navigation.rs +0 -0
  315. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/state.rs +0 -0
  316. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/symbols/completion.rs +0 -0
  317. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/symbols/finish.rs +0 -0
  318. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/symbols/forms.rs +0 -0
  319. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/symbols/index.rs +0 -0
  320. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/symbols/rename.rs +0 -0
  321. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/symbols.rs +0 -0
  322. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/tests/editing_and_rpc.rs +0 -0
  323. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/tests/state_and_rename.rs +0 -0
  324. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/tests.rs +0 -0
  325. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp/text.rs +0 -0
  326. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp_stdio/mod.rs +0 -0
  327. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/lsp_stdio/tests.rs +0 -0
  328. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/printer/mod.rs +0 -0
  329. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/printer/tests.rs +0 -0
  330. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/semantic/analysis.rs +0 -0
  331. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/semantic/metadata.rs +0 -0
  332. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/semantic/mod.rs +0 -0
  333. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/semantic/operations.rs +0 -0
  334. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/semantic/projection.rs +0 -0
  335. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/src/tooling/semantic/tests.rs +0 -0
  336. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/cli.rs +0 -0
  337. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/clojure_control_compile.rs +0 -0
  338. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/concurrency_compile.rs +0 -0
  339. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/condp_compile.rs +0 -0
  340. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/control_compile/assertions.rs +0 -0
  341. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/control_compile/collections.rs +0 -0
  342. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/control_compile/recursion_and_types.rs +0 -0
  343. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/control_compile.rs +0 -0
  344. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/delay_compile.rs +0 -0
  345. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/distinct_compile.rs +0 -0
  346. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/dynamic_binding_compile.rs +0 -0
  347. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/empty_compile.rs +0 -0
  348. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/letfn_compile.rs +0 -0
  349. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/loop_compile.rs +0 -0
  350. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/parallel_compile.rs +0 -0
  351. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/predicates_compile.rs +0 -0
  352. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/private_function_compile.rs +0 -0
  353. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/resource_compile.rs +0 -0
  354. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/runtime_loader.py +0 -0
  355. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/sequence_combinations_compile.rs +0 -0
  356. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/sequence_compile.rs +0 -0
  357. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/test_clojure_prelude.py +0 -0
  358. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/test_control_runtime.py +0 -0
  359. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/test_dynamic_binding_runtime.py +0 -0
  360. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/test_lazy_edges.py +0 -0
  361. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/test_package_import.py +0 -0
  362. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/test_prelude.py +0 -0
  363. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/test_sequence_combinations.py +0 -0
  364. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/test_sequence_runtime.py +0 -0
  365. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/time_compile.rs +0 -0
  366. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/tests/try_compile.rs +0 -0
  367. {osiris_lang-0.2.2 → osiris_lang-0.2.3}/uv.lock +0 -0
@@ -2,6 +2,21 @@
2
2
  # It is not intended for manual editing.
3
3
  version = 4
4
4
 
5
+ [[package]]
6
+ name = "aho-corasick"
7
+ version = "1.1.4"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
10
+ dependencies = [
11
+ "memchr",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "bitflags"
16
+ version = "2.13.1"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
19
+
5
20
  [[package]]
6
21
  name = "block-buffer"
7
22
  version = "0.10.4"
@@ -11,6 +26,16 @@ dependencies = [
11
26
  "generic-array",
12
27
  ]
13
28
 
29
+ [[package]]
30
+ name = "bstr"
31
+ version = "1.13.0"
32
+ source = "registry+https://github.com/rust-lang/crates.io-index"
33
+ checksum = "1f7dc094d718f2e1c1559ad110e27eeaae14a5465d3d56dd6dbd793079fbd530"
34
+ dependencies = [
35
+ "memchr",
36
+ "serde_core",
37
+ ]
38
+
14
39
  [[package]]
15
40
  name = "cfg-if"
16
41
  version = "1.0.4"
@@ -52,6 +77,15 @@ version = "1.0.2"
52
77
  source = "registry+https://github.com/rust-lang/crates.io-index"
53
78
  checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
54
79
 
80
+ [[package]]
81
+ name = "fsevent-sys"
82
+ version = "4.1.0"
83
+ source = "registry+https://github.com/rust-lang/crates.io-index"
84
+ checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2"
85
+ dependencies = [
86
+ "libc",
87
+ ]
88
+
55
89
  [[package]]
56
90
  name = "generic-array"
57
91
  version = "0.14.7"
@@ -62,6 +96,19 @@ dependencies = [
62
96
  "version_check",
63
97
  ]
64
98
 
99
+ [[package]]
100
+ name = "globset"
101
+ version = "0.4.19"
102
+ source = "registry+https://github.com/rust-lang/crates.io-index"
103
+ checksum = "e47d37d2ae4464254884b60ab7071be2b876a9c35b696bd018ddcc76847309cd"
104
+ dependencies = [
105
+ "aho-corasick",
106
+ "bstr",
107
+ "log",
108
+ "regex-automata",
109
+ "regex-syntax",
110
+ ]
111
+
65
112
  [[package]]
66
113
  name = "hashbrown"
67
114
  version = "0.17.1"
@@ -84,24 +131,93 @@ dependencies = [
84
131
  "hashbrown",
85
132
  ]
86
133
 
134
+ [[package]]
135
+ name = "inotify"
136
+ version = "0.11.4"
137
+ source = "registry+https://github.com/rust-lang/crates.io-index"
138
+ checksum = "153be1941a183ec9ccd095ddbe17a8b8d435ef6c76e9e02451b933c3999af2c8"
139
+ dependencies = [
140
+ "bitflags",
141
+ "inotify-sys",
142
+ "libc",
143
+ ]
144
+
145
+ [[package]]
146
+ name = "inotify-sys"
147
+ version = "0.1.8"
148
+ source = "registry+https://github.com/rust-lang/crates.io-index"
149
+ checksum = "c033f80b2c113cdf91ab7a33faa9cbc014726dcad99880c8609af2a370edf37d"
150
+ dependencies = [
151
+ "libc",
152
+ ]
153
+
87
154
  [[package]]
88
155
  name = "itoa"
89
156
  version = "1.0.18"
90
157
  source = "registry+https://github.com/rust-lang/crates.io-index"
91
158
  checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
92
159
 
160
+ [[package]]
161
+ name = "json5"
162
+ version = "0.4.1"
163
+ source = "registry+https://github.com/rust-lang/crates.io-index"
164
+ checksum = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1"
165
+ dependencies = [
166
+ "pest",
167
+ "pest_derive",
168
+ "serde",
169
+ ]
170
+
171
+ [[package]]
172
+ name = "kqueue"
173
+ version = "1.2.0"
174
+ source = "registry+https://github.com/rust-lang/crates.io-index"
175
+ checksum = "273c0752728918e0ac4976f2b275b6fefb9ecd400585dec929419f3844cd87b5"
176
+ dependencies = [
177
+ "kqueue-sys",
178
+ "libc",
179
+ ]
180
+
181
+ [[package]]
182
+ name = "kqueue-sys"
183
+ version = "1.1.2"
184
+ source = "registry+https://github.com/rust-lang/crates.io-index"
185
+ checksum = "07293a4e297ac234359b510362495713f75ea345d5307140414f20c69ffeb087"
186
+ dependencies = [
187
+ "bitflags",
188
+ "libc",
189
+ ]
190
+
93
191
  [[package]]
94
192
  name = "libc"
95
193
  version = "0.2.189"
96
194
  source = "registry+https://github.com/rust-lang/crates.io-index"
97
195
  checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
98
196
 
197
+ [[package]]
198
+ name = "log"
199
+ version = "0.4.33"
200
+ source = "registry+https://github.com/rust-lang/crates.io-index"
201
+ checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
202
+
99
203
  [[package]]
100
204
  name = "memchr"
101
205
  version = "2.8.3"
102
206
  source = "registry+https://github.com/rust-lang/crates.io-index"
103
207
  checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
104
208
 
209
+ [[package]]
210
+ name = "mio"
211
+ version = "1.2.2"
212
+ source = "registry+https://github.com/rust-lang/crates.io-index"
213
+ checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427"
214
+ dependencies = [
215
+ "libc",
216
+ "log",
217
+ "wasi",
218
+ "windows-sys 0.61.2",
219
+ ]
220
+
105
221
  [[package]]
106
222
  name = "nom"
107
223
  version = "8.0.0"
@@ -111,6 +227,33 @@ dependencies = [
111
227
  "memchr",
112
228
  ]
113
229
 
230
+ [[package]]
231
+ name = "notify"
232
+ version = "8.2.0"
233
+ source = "registry+https://github.com/rust-lang/crates.io-index"
234
+ checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3"
235
+ dependencies = [
236
+ "bitflags",
237
+ "fsevent-sys",
238
+ "inotify",
239
+ "kqueue",
240
+ "libc",
241
+ "log",
242
+ "mio",
243
+ "notify-types",
244
+ "walkdir",
245
+ "windows-sys 0.60.2",
246
+ ]
247
+
248
+ [[package]]
249
+ name = "notify-types"
250
+ version = "2.1.0"
251
+ source = "registry+https://github.com/rust-lang/crates.io-index"
252
+ checksum = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a"
253
+ dependencies = [
254
+ "bitflags",
255
+ ]
256
+
114
257
  [[package]]
115
258
  name = "once_cell"
116
259
  version = "1.21.4"
@@ -119,9 +262,12 @@ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
119
262
 
120
263
  [[package]]
121
264
  name = "osiris"
122
- version = "0.2.2"
265
+ version = "0.2.3"
123
266
  dependencies = [
267
+ "globset",
268
+ "json5",
124
269
  "nom",
270
+ "notify",
125
271
  "pyo3",
126
272
  "serde",
127
273
  "serde_json",
@@ -131,6 +277,48 @@ dependencies = [
131
277
  "unicode-normalization",
132
278
  ]
133
279
 
280
+ [[package]]
281
+ name = "pest"
282
+ version = "2.8.8"
283
+ source = "registry+https://github.com/rust-lang/crates.io-index"
284
+ checksum = "7df728be843c7070fab6ab7c328c4e9e9d78e23bf749c0669c86ee7ebfa050a2"
285
+ dependencies = [
286
+ "memchr",
287
+ "ucd-trie",
288
+ ]
289
+
290
+ [[package]]
291
+ name = "pest_derive"
292
+ version = "2.8.8"
293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
294
+ checksum = "9e2dd6fc3b26b3462ee188aac870f5a41d398f1cd5e2408d16531bd71c9591fd"
295
+ dependencies = [
296
+ "pest",
297
+ "pest_generator",
298
+ ]
299
+
300
+ [[package]]
301
+ name = "pest_generator"
302
+ version = "2.8.8"
303
+ source = "registry+https://github.com/rust-lang/crates.io-index"
304
+ checksum = "6a7a9205cfb6f596a9e8b689c0a15f9ceb7a1aafae7aaf788150ac65b29975b6"
305
+ dependencies = [
306
+ "pest",
307
+ "pest_meta",
308
+ "proc-macro2",
309
+ "quote",
310
+ "syn 2.0.119",
311
+ ]
312
+
313
+ [[package]]
314
+ name = "pest_meta"
315
+ version = "2.8.8"
316
+ source = "registry+https://github.com/rust-lang/crates.io-index"
317
+ checksum = "85abd351c0de1e8384fc791a0737111a350394937e92b956b743dac12429f57c"
318
+ dependencies = [
319
+ "pest",
320
+ ]
321
+
134
322
  [[package]]
135
323
  name = "portable-atomic"
136
324
  version = "1.14.0"
@@ -212,6 +400,32 @@ dependencies = [
212
400
  "proc-macro2",
213
401
  ]
214
402
 
403
+ [[package]]
404
+ name = "regex-automata"
405
+ version = "0.4.16"
406
+ source = "registry+https://github.com/rust-lang/crates.io-index"
407
+ checksum = "8fcfdb36bda0c880c5931cdc7a2bcdc8ba4556847b9d912bca70bc94708711ad"
408
+ dependencies = [
409
+ "aho-corasick",
410
+ "memchr",
411
+ "regex-syntax",
412
+ ]
413
+
414
+ [[package]]
415
+ name = "regex-syntax"
416
+ version = "0.8.11"
417
+ source = "registry+https://github.com/rust-lang/crates.io-index"
418
+ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
419
+
420
+ [[package]]
421
+ name = "same-file"
422
+ version = "1.0.6"
423
+ source = "registry+https://github.com/rust-lang/crates.io-index"
424
+ checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
425
+ dependencies = [
426
+ "winapi-util",
427
+ ]
428
+
215
429
  [[package]]
216
430
  name = "serde"
217
431
  version = "1.0.229"
@@ -365,6 +579,12 @@ version = "1.20.1"
365
579
  source = "registry+https://github.com/rust-lang/crates.io-index"
366
580
  checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"
367
581
 
582
+ [[package]]
583
+ name = "ucd-trie"
584
+ version = "0.1.7"
585
+ source = "registry+https://github.com/rust-lang/crates.io-index"
586
+ checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971"
587
+
368
588
  [[package]]
369
589
  name = "unicode-ident"
370
590
  version = "1.0.24"
@@ -386,6 +606,120 @@ version = "0.9.5"
386
606
  source = "registry+https://github.com/rust-lang/crates.io-index"
387
607
  checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
388
608
 
609
+ [[package]]
610
+ name = "walkdir"
611
+ version = "2.5.0"
612
+ source = "registry+https://github.com/rust-lang/crates.io-index"
613
+ checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
614
+ dependencies = [
615
+ "same-file",
616
+ "winapi-util",
617
+ ]
618
+
619
+ [[package]]
620
+ name = "wasi"
621
+ version = "0.11.1+wasi-snapshot-preview1"
622
+ source = "registry+https://github.com/rust-lang/crates.io-index"
623
+ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
624
+
625
+ [[package]]
626
+ name = "winapi-util"
627
+ version = "0.1.11"
628
+ source = "registry+https://github.com/rust-lang/crates.io-index"
629
+ checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
630
+ dependencies = [
631
+ "windows-sys 0.61.2",
632
+ ]
633
+
634
+ [[package]]
635
+ name = "windows-link"
636
+ version = "0.2.1"
637
+ source = "registry+https://github.com/rust-lang/crates.io-index"
638
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
639
+
640
+ [[package]]
641
+ name = "windows-sys"
642
+ version = "0.60.2"
643
+ source = "registry+https://github.com/rust-lang/crates.io-index"
644
+ checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
645
+ dependencies = [
646
+ "windows-targets",
647
+ ]
648
+
649
+ [[package]]
650
+ name = "windows-sys"
651
+ version = "0.61.2"
652
+ source = "registry+https://github.com/rust-lang/crates.io-index"
653
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
654
+ dependencies = [
655
+ "windows-link",
656
+ ]
657
+
658
+ [[package]]
659
+ name = "windows-targets"
660
+ version = "0.53.5"
661
+ source = "registry+https://github.com/rust-lang/crates.io-index"
662
+ checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
663
+ dependencies = [
664
+ "windows-link",
665
+ "windows_aarch64_gnullvm",
666
+ "windows_aarch64_msvc",
667
+ "windows_i686_gnu",
668
+ "windows_i686_gnullvm",
669
+ "windows_i686_msvc",
670
+ "windows_x86_64_gnu",
671
+ "windows_x86_64_gnullvm",
672
+ "windows_x86_64_msvc",
673
+ ]
674
+
675
+ [[package]]
676
+ name = "windows_aarch64_gnullvm"
677
+ version = "0.53.1"
678
+ source = "registry+https://github.com/rust-lang/crates.io-index"
679
+ checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
680
+
681
+ [[package]]
682
+ name = "windows_aarch64_msvc"
683
+ version = "0.53.1"
684
+ source = "registry+https://github.com/rust-lang/crates.io-index"
685
+ checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
686
+
687
+ [[package]]
688
+ name = "windows_i686_gnu"
689
+ version = "0.53.1"
690
+ source = "registry+https://github.com/rust-lang/crates.io-index"
691
+ checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3"
692
+
693
+ [[package]]
694
+ name = "windows_i686_gnullvm"
695
+ version = "0.53.1"
696
+ source = "registry+https://github.com/rust-lang/crates.io-index"
697
+ checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
698
+
699
+ [[package]]
700
+ name = "windows_i686_msvc"
701
+ version = "0.53.1"
702
+ source = "registry+https://github.com/rust-lang/crates.io-index"
703
+ checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
704
+
705
+ [[package]]
706
+ name = "windows_x86_64_gnu"
707
+ version = "0.53.1"
708
+ source = "registry+https://github.com/rust-lang/crates.io-index"
709
+ checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
710
+
711
+ [[package]]
712
+ name = "windows_x86_64_gnullvm"
713
+ version = "0.53.1"
714
+ source = "registry+https://github.com/rust-lang/crates.io-index"
715
+ checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
716
+
717
+ [[package]]
718
+ name = "windows_x86_64_msvc"
719
+ version = "0.53.1"
720
+ source = "registry+https://github.com/rust-lang/crates.io-index"
721
+ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
722
+
389
723
  [[package]]
390
724
  name = "winnow"
391
725
  version = "0.7.15"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "osiris"
3
- version = "0.2.2"
3
+ version = "0.2.3"
4
4
  edition = "2024"
5
5
  rust-version = "1.85"
6
6
  authors = ["MJ <tywf91@gmail.com>"]
@@ -25,6 +25,7 @@ python = ["dep:pyo3"]
25
25
 
26
26
  [dependencies]
27
27
  nom = "8.0"
28
+ notify = "8.2"
28
29
  pyo3 = { version = "0.29", optional = true, features = ["extension-module", "abi3-py39"] }
29
30
  serde = { version = "1.0", features = ["derive"] }
30
31
  serde_json = "1.0"
@@ -32,6 +33,8 @@ sha2 = "0.10"
32
33
  toml = "0.8"
33
34
  toml_edit = "0.22"
34
35
  unicode-normalization = "0.1"
36
+ json5 = "0.4"
37
+ globset = "0.4"
35
38
 
36
39
  [lints.rust]
37
40
  unsafe_code = "forbid"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: osiris-lang
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Classifier: License :: OSI Approved :: MIT License
5
5
  Classifier: Programming Language :: Python :: 3
6
6
  Classifier: Programming Language :: Rust
@@ -73,25 +73,49 @@ osr init --existing path/to/project
73
73
  ```
74
74
 
75
75
  `init` preserves the existing `pyproject.toml` layout, comments, project
76
- metadata, and dependencies. It adds missing `[tool.osiris]` defaults, creates
77
- `src/main.osr` only when that file does not exist, and asks `uv` to add
76
+ metadata, and dependencies. It creates `osiris.jsonc` and `src/main.osr` only
77
+ when those files do not exist, and asks `uv` to add
78
78
  `osiris-lang` to the development dependency group. Re-running the command is
79
79
  safe. A new project path must not already exist; use `--existing` when joining
80
80
  an established uv project.
81
81
 
82
- Osiris discovers the nearest `pyproject.toml` containing a `[tool.osiris]`
83
- table. The smallest project configuration for the checked-in example is:
84
-
85
- ```toml
86
- [tool.osiris]
87
- source = ["examples"]
88
- target-python = "3.9"
89
- strict = true
90
- extensions = []
91
- build-groups = []
92
- display-locale = "zh-CN"
82
+ Osiris discovers the nearest `osiris.jsonc`; the adjacent `pyproject.toml`
83
+ continues to own Python package metadata and dependencies. JSONC comments and
84
+ trailing commas are accepted. A typical configuration is deliberately small:
85
+
86
+ ```jsonc
87
+ {
88
+ "$schema": "https://raw.githubusercontent.com/mjason/osiris/main/schemas/osiris.schema.json",
89
+ "source": ["examples"],
90
+ "outDir": "target/osr",
91
+ "targetPython": "3.11",
92
+ "strict": true,
93
+ "displayLocale": "zh-CN"
94
+ }
93
95
  ```
94
96
 
97
+ `source` defines the complete project source scope. `exclude` contains
98
+ project-root-relative glob rules shared by compilation and language tooling;
99
+ a value without glob syntax, such as `src/generated`, also excludes its
100
+ descendants.
101
+ Patterns such as `src/**/generated/**` and `src/**/*_test.osr` can select files
102
+ inside a source root when a project needs those rules. `outDir` is the default
103
+ compile destination; artifact selection remains an explicit
104
+ `osr compile --emit` option. One invocation targets one Python version.
105
+ Changing `targetPython` invalidates target-sensitive analysis, interfaces,
106
+ extension resolution, and build artifacts.
107
+
108
+ `displayLocale` is a closed enum used by hover, completion, and signature
109
+ help when Rich Metadata provides localized labels or documentation:
110
+
111
+ - `"zh-CN"` displays Simplified Chinese labels and documentation when present.
112
+ - `"en"` displays English labels and documentation when present.
113
+
114
+ It changes tooling presentation, not binding identity or generated Python.
115
+ An explicit locale sent by an LSP client takes precedence over the project
116
+ value. `osr init` writes `"displayLocale": "zh-CN"` by default; change that
117
+ single value to `"en"` for an English tooling view.
118
+
95
119
  With that configuration and [`examples/hello.osr`](examples/hello.osr):
96
120
 
97
121
  ```console
@@ -126,14 +150,61 @@ and publishes one artifact set atomically:
126
150
  compiled modules own public static records (or when `--emit records` is
127
151
  requested).
128
152
 
129
- Python dependencies are still ordinary Python project dependencies. Add them
130
- from PyPI (or another index/path supported by `uv`) in the standard
131
- `[project].dependencies` or a dependency group, then let `uv` resolve and lock
132
- them. `[tool.osiris].extensions` is only a list of explicitly enabled static
133
- Osiris extension IDs: it points discovery at wheel `osiris.toml` markers and
134
- their `.osri` interfaces; it is not a package registry, installer, or second
135
- lock file, and the compiler never imports extension Python code during
136
- discovery.
153
+ Python dependencies and Osiris extensions are ordinary Python project
154
+ dependencies. Add them from PyPI (or another index/path supported by `uv`) in
155
+ `[project].dependencies`, then let `uv` resolve and lock them. The compiler
156
+ automatically reads `osiris.toml` and `.osri` resources only from distributions
157
+ reachable in the runtime lock graph; it never imports extension Python code or
158
+ scans unrelated installed packages during discovery.
159
+
160
+ ## Publishing an Extension
161
+
162
+ An Osiris extension is an ordinary Python distribution whose wheel contains
163
+ compiled `.osri` interfaces and an automatically generated
164
+ `dist-info/osiris.toml` marker. Create one with:
165
+
166
+ ```console
167
+ osr init --extension acme-osiris
168
+ cd acme-osiris
169
+ uv lock
170
+ uv build --python 3.11
171
+ uv publish dist/*
172
+ ```
173
+
174
+ The generated `pyproject.toml` pins the installed compiler distribution and
175
+ selects its bundled PEP 517 backend:
176
+
177
+ ```toml
178
+ [build-system]
179
+ requires = ["osiris-lang==<osr-version>"]
180
+ build-backend = "osiris_build"
181
+ ```
182
+
183
+ `osr init --extension acme-osiris` creates
184
+ `src/acme_osiris/core.osr` with module `acme_osiris.core`. Each public module
185
+ is compiled into readable Python plus an `.osri` interface; the backend adds
186
+ one `[[extension]]` marker entry for each interface, using the module name
187
+ (`acme_osiris.core`) as its ID. Do not write `osiris.toml` by hand.
188
+
189
+ To convert an existing uv package, run `osr init --existing --extension` from
190
+ its root. The command preserves existing metadata and refuses to replace a
191
+ different build backend. If that package needs Hatchling, maturin, or another
192
+ backend for additional native build work, backend composition is not yet
193
+ supported and should be handled as a separate distribution.
194
+
195
+ Consumers install the published extension exactly like any other dependency:
196
+
197
+ ```console
198
+ uv add acme-osiris
199
+ uv lock
200
+ uv run osr check src/main.osr
201
+ ```
202
+
203
+ The compiler follows the consumer's locked runtime dependency graph and reads
204
+ the extension's static marker and interfaces without importing its Python
205
+ package during discovery. Public interface dependencies of an extension must
206
+ therefore be declared in `[project].dependencies`, so they are preserved as
207
+ standard `Requires-Dist` metadata.
137
208
 
138
209
  ## Native CLI
139
210
 
@@ -141,6 +212,7 @@ discovery.
141
212
  cargo run --bin osr -- --version
142
213
  cargo run --bin osr -- check source.osr
143
214
  cargo run --bin osr -- compile source.osr
215
+ cargo run --bin osr -- watch
144
216
  cargo run --bin osr -- expand source.osr
145
217
  cargo run --bin osr -- inspect --semantic source.osr --format json
146
218
  cargo run --bin osr -- lsp