catnip-lang 0.1.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 (485) hide show
  1. catnip_lang-0.1.0/Cargo.toml +52 -0
  2. catnip_lang-0.1.0/LICENSE +674 -0
  3. catnip_lang-0.1.0/MANIFEST.in +12 -0
  4. catnip_lang-0.1.0/PKG-INFO +153 -0
  5. catnip_lang-0.1.0/README.md +64 -0
  6. catnip_lang-0.1.0/catnip/__init__.py +423 -0
  7. catnip_lang-0.1.0/catnip/__main__.py +7 -0
  8. catnip_lang-0.1.0/catnip/_commit.py +1 -0
  9. catnip_lang-0.1.0/catnip/_error_strings.py +42 -0
  10. catnip_lang-0.1.0/catnip/_theme.py +94 -0
  11. catnip_lang-0.1.0/catnip/_version.py +50 -0
  12. catnip_lang-0.1.0/catnip/bin_wrappers.py +41 -0
  13. catnip_lang-0.1.0/catnip/cachesys/__init__.py +69 -0
  14. catnip_lang-0.1.0/catnip/cachesys/base.py +112 -0
  15. catnip_lang-0.1.0/catnip/cachesys/memoization.py +229 -0
  16. catnip_lang-0.1.0/catnip/cli/__init__.py +12 -0
  17. catnip_lang-0.1.0/catnip/cli/commands/__init__.py +20 -0
  18. catnip_lang-0.1.0/catnip/cli/commands/cache.py +175 -0
  19. catnip_lang-0.1.0/catnip/cli/commands/commands.py +60 -0
  20. catnip_lang-0.1.0/catnip/cli/commands/completion.py +80 -0
  21. catnip_lang-0.1.0/catnip/cli/commands/config.py +261 -0
  22. catnip_lang-0.1.0/catnip/cli/commands/debug.py +46 -0
  23. catnip_lang-0.1.0/catnip/cli/commands/extensions.py +58 -0
  24. catnip_lang-0.1.0/catnip/cli/commands/format.py +156 -0
  25. catnip_lang-0.1.0/catnip/cli/commands/lint.py +168 -0
  26. catnip_lang-0.1.0/catnip/cli/commands/lsp.py +20 -0
  27. catnip_lang-0.1.0/catnip/cli/commands/module.py +70 -0
  28. catnip_lang-0.1.0/catnip/cli/commands/new_lib.py +117 -0
  29. catnip_lang-0.1.0/catnip/cli/commands/plugins.py +60 -0
  30. catnip_lang-0.1.0/catnip/cli/commands/repl.py +35 -0
  31. catnip_lang-0.1.0/catnip/cli/main.py +624 -0
  32. catnip_lang-0.1.0/catnip/cli/plugins.py +43 -0
  33. catnip_lang-0.1.0/catnip/cli/utils.py +54 -0
  34. catnip_lang-0.1.0/catnip/colors.py +321 -0
  35. catnip_lang-0.1.0/catnip/compat.py +436 -0
  36. catnip_lang-0.1.0/catnip/config.py +80 -0
  37. catnip_lang-0.1.0/catnip/context.py +434 -0
  38. catnip_lang-0.1.0/catnip/debug/__init__.py +6 -0
  39. catnip_lang-0.1.0/catnip/debug/console.py +40 -0
  40. catnip_lang-0.1.0/catnip/debug/session.py +187 -0
  41. catnip_lang-0.1.0/catnip/exc.py +218 -0
  42. catnip_lang-0.1.0/catnip/executor.py +33 -0
  43. catnip_lang-0.1.0/catnip/extensions.py +109 -0
  44. catnip_lang-0.1.0/catnip/loader.py +628 -0
  45. catnip_lang-0.1.0/catnip/nd.py +96 -0
  46. catnip_lang-0.1.0/catnip/nodes.py +95 -0
  47. catnip_lang-0.1.0/catnip/parser.py +25 -0
  48. catnip_lang-0.1.0/catnip/pragma.py +24 -0
  49. catnip_lang-0.1.0/catnip/processor.py +211 -0
  50. catnip_lang-0.1.0/catnip/registry.py +51 -0
  51. catnip_lang-0.1.0/catnip/repl/__init__.py +22 -0
  52. catnip_lang-0.1.0/catnip/repl/minimal.py +75 -0
  53. catnip_lang-0.1.0/catnip/semantic/__init__.py +56 -0
  54. catnip_lang-0.1.0/catnip/semantic/opcode.py +154 -0
  55. catnip_lang-0.1.0/catnip/suggest.py +29 -0
  56. catnip_lang-0.1.0/catnip/tools/__init__.py +13 -0
  57. catnip_lang-0.1.0/catnip/tools/extract_grammar.py +812 -0
  58. catnip_lang-0.1.0/catnip/tools/linter.py +98 -0
  59. catnip_lang-0.1.0/catnip/tools/pygments.py +338 -0
  60. catnip_lang-0.1.0/catnip/traceback.py +82 -0
  61. catnip_lang-0.1.0/catnip/transformer.py +34 -0
  62. catnip_lang-0.1.0/catnip/utils.py +17 -0
  63. catnip_lang-0.1.0/catnip/vm/__init__.py +36 -0
  64. catnip_lang-0.1.0/catnip/vm/executor.py +90 -0
  65. catnip_lang-0.1.0/catnip/vm/opcodes.py +274 -0
  66. catnip_lang-0.1.0/catnip/vm/rust_bridge.py +221 -0
  67. catnip_lang-0.1.0/catnip/weird_log.py +72 -0
  68. catnip_lang-0.1.0/catnip_core/Cargo.toml +27 -0
  69. catnip_lang-0.1.0/catnip_core/src/cfg/edge.rs +102 -0
  70. catnip_lang-0.1.0/catnip_core/src/cfg/mod.rs +6 -0
  71. catnip_lang-0.1.0/catnip_core/src/constants.rs +368 -0
  72. catnip_lang-0.1.0/catnip_core/src/exception.rs +278 -0
  73. catnip_lang-0.1.0/catnip_core/src/freeze/mod.rs +414 -0
  74. catnip_lang-0.1.0/catnip_core/src/freeze/value.rs +64 -0
  75. catnip_lang-0.1.0/catnip_core/src/freeze/worker.rs +209 -0
  76. catnip_lang-0.1.0/catnip_core/src/ir/mod.rs +11 -0
  77. catnip_lang-0.1.0/catnip_core/src/ir/opcode.rs +258 -0
  78. catnip_lang-0.1.0/catnip_core/src/ir/pure.rs +623 -0
  79. catnip_lang-0.1.0/catnip_core/src/ir/tests.rs +222 -0
  80. catnip_lang-0.1.0/catnip_core/src/jit/builtin_dispatch.rs +96 -0
  81. catnip_lang-0.1.0/catnip_core/src/jit/codegen.rs +1971 -0
  82. catnip_lang-0.1.0/catnip_core/src/jit/detector.rs +159 -0
  83. catnip_lang-0.1.0/catnip_core/src/jit/executor.rs +352 -0
  84. catnip_lang-0.1.0/catnip_core/src/jit/function_info.rs +26 -0
  85. catnip_lang-0.1.0/catnip_core/src/jit/inliner.rs +560 -0
  86. catnip_lang-0.1.0/catnip_core/src/jit/memo_cache.rs +95 -0
  87. catnip_lang-0.1.0/catnip_core/src/jit/mod.rs +24 -0
  88. catnip_lang-0.1.0/catnip_core/src/jit/registry.rs +126 -0
  89. catnip_lang-0.1.0/catnip_core/src/jit/trace.rs +1045 -0
  90. catnip_lang-0.1.0/catnip_core/src/jit/trace_cache.rs +422 -0
  91. catnip_lang-0.1.0/catnip_core/src/lib.rs +22 -0
  92. catnip_lang-0.1.0/catnip_core/src/loader/mod.rs +4 -0
  93. catnip_lang-0.1.0/catnip_core/src/loader/resolve.rs +311 -0
  94. catnip_lang-0.1.0/catnip_core/src/nanbox.rs +43 -0
  95. catnip_lang-0.1.0/catnip_core/src/parser/mod.rs +7 -0
  96. catnip_lang-0.1.0/catnip_core/src/parser/pure_transforms.rs +3615 -0
  97. catnip_lang-0.1.0/catnip_core/src/parser/utils.rs +99 -0
  98. catnip_lang-0.1.0/catnip_core/src/paths.rs +22 -0
  99. catnip_lang-0.1.0/catnip_core/src/pipeline/diagnostic.rs +25 -0
  100. catnip_lang-0.1.0/catnip_core/src/pipeline/mod.rs +8 -0
  101. catnip_lang-0.1.0/catnip_core/src/pipeline/semantic.rs +2090 -0
  102. catnip_lang-0.1.0/catnip_core/src/policy.rs +222 -0
  103. catnip_lang-0.1.0/catnip_core/src/semantic/mod.rs +8 -0
  104. catnip_lang-0.1.0/catnip_core/src/semantic/opcode.rs +183 -0
  105. catnip_lang-0.1.0/catnip_core/src/semantic/passes/block_flattening.rs +149 -0
  106. catnip_lang-0.1.0/catnip_core/src/semantic/passes/blunt_code.rs +401 -0
  107. catnip_lang-0.1.0/catnip_core/src/semantic/passes/constant_folding.rs +417 -0
  108. catnip_lang-0.1.0/catnip_core/src/semantic/passes/constant_propagation.rs +140 -0
  109. catnip_lang-0.1.0/catnip_core/src/semantic/passes/copy_propagation.rs +123 -0
  110. catnip_lang-0.1.0/catnip_core/src/semantic/passes/dead_code_elimination.rs +292 -0
  111. catnip_lang-0.1.0/catnip_core/src/semantic/passes/dead_store_elimination.rs +196 -0
  112. catnip_lang-0.1.0/catnip_core/src/semantic/passes/mod.rs +288 -0
  113. catnip_lang-0.1.0/catnip_core/src/semantic/passes/strength_reduction.rs +162 -0
  114. catnip_lang-0.1.0/catnip_core/src/symbols.rs +73 -0
  115. catnip_lang-0.1.0/catnip_core/src/types.rs +93 -0
  116. catnip_lang-0.1.0/catnip_core/src/vm/memory.rs +40 -0
  117. catnip_lang-0.1.0/catnip_core/src/vm/mod.rs +22 -0
  118. catnip_lang-0.1.0/catnip_core/src/vm/mro.rs +161 -0
  119. catnip_lang-0.1.0/catnip_core/src/vm/opcode.rs +487 -0
  120. catnip_lang-0.1.0/catnip_core/src/vm/peephole.rs +789 -0
  121. catnip_lang-0.1.0/catnip_grammar/Cargo.toml +15 -0
  122. catnip_lang-0.1.0/catnip_grammar/build.rs +16 -0
  123. catnip_lang-0.1.0/catnip_grammar/grammar.js +864 -0
  124. catnip_lang-0.1.0/catnip_grammar/src/grammar.json +5035 -0
  125. catnip_lang-0.1.0/catnip_grammar/src/lib.rs +14 -0
  126. catnip_lang-0.1.0/catnip_grammar/src/node-types.json +8207 -0
  127. catnip_lang-0.1.0/catnip_grammar/src/node_kinds.rs +102 -0
  128. catnip_lang-0.1.0/catnip_grammar/src/parser.c +34521 -0
  129. catnip_lang-0.1.0/catnip_grammar/src/scanner.c +98 -0
  130. catnip_lang-0.1.0/catnip_grammar/src/symbols.rs +233 -0
  131. catnip_lang-0.1.0/catnip_grammar/src/tree_sitter/alloc.h +54 -0
  132. catnip_lang-0.1.0/catnip_grammar/src/tree_sitter/array.h +291 -0
  133. catnip_lang-0.1.0/catnip_grammar/src/tree_sitter/parser.h +286 -0
  134. catnip_lang-0.1.0/catnip_grammar/tree-sitter.json +28 -0
  135. catnip_lang-0.1.0/catnip_lang.egg-info/PKG-INFO +153 -0
  136. catnip_lang-0.1.0/catnip_lang.egg-info/SOURCES.txt +483 -0
  137. catnip_lang-0.1.0/catnip_lang.egg-info/dependency_links.txt +1 -0
  138. catnip_lang-0.1.0/catnip_lang.egg-info/entry_points.txt +17 -0
  139. catnip_lang-0.1.0/catnip_lang.egg-info/requires.txt +81 -0
  140. catnip_lang-0.1.0/catnip_lang.egg-info/top_level.txt +1 -0
  141. catnip_lang-0.1.0/catnip_libs/http/rust/Cargo.toml +19 -0
  142. catnip_lang-0.1.0/catnip_libs/http/rust/src/lib.rs +2084 -0
  143. catnip_lang-0.1.0/catnip_libs/http/spec.toml +138 -0
  144. catnip_lang-0.1.0/catnip_libs/io/rust/Cargo.toml +18 -0
  145. catnip_lang-0.1.0/catnip_libs/io/rust/src/lib.rs +633 -0
  146. catnip_lang-0.1.0/catnip_libs/io/spec.toml +40 -0
  147. catnip_lang-0.1.0/catnip_libs/sys/rust/Cargo.toml +19 -0
  148. catnip_lang-0.1.0/catnip_libs/sys/rust/src/lib.rs +253 -0
  149. catnip_lang-0.1.0/catnip_libs/sys/spec.toml +45 -0
  150. catnip_lang-0.1.0/catnip_repl/Cargo.toml +31 -0
  151. catnip_lang-0.1.0/catnip_repl/bin/repl.rs +52 -0
  152. catnip_lang-0.1.0/catnip_repl/src/app.rs +1974 -0
  153. catnip_lang-0.1.0/catnip_repl/src/commands.rs +162 -0
  154. catnip_lang-0.1.0/catnip_repl/src/completer.rs +641 -0
  155. catnip_lang-0.1.0/catnip_repl/src/completion_workflow_tests.rs +430 -0
  156. catnip_lang-0.1.0/catnip_repl/src/config.rs +147 -0
  157. catnip_lang-0.1.0/catnip_repl/src/config_editor.rs +984 -0
  158. catnip_lang-0.1.0/catnip_repl/src/config_tui.rs +398 -0
  159. catnip_lang-0.1.0/catnip_repl/src/context.rs +341 -0
  160. catnip_lang-0.1.0/catnip_repl/src/executor.rs +865 -0
  161. catnip_lang-0.1.0/catnip_repl/src/highlighter.rs +298 -0
  162. catnip_lang-0.1.0/catnip_repl/src/hints.rs +425 -0
  163. catnip_lang-0.1.0/catnip_repl/src/history.rs +285 -0
  164. catnip_lang-0.1.0/catnip_repl/src/input.rs +464 -0
  165. catnip_lang-0.1.0/catnip_repl/src/integration_tests.rs +91 -0
  166. catnip_lang-0.1.0/catnip_repl/src/lib.rs +98 -0
  167. catnip_lang-0.1.0/catnip_repl/src/signal.rs +79 -0
  168. catnip_lang-0.1.0/catnip_repl/src/theme.rs +23 -0
  169. catnip_lang-0.1.0/catnip_repl/src/widgets/completion.rs +90 -0
  170. catnip_lang-0.1.0/catnip_repl/src/widgets/mod.rs +4 -0
  171. catnip_lang-0.1.0/catnip_rs/Cargo.toml +55 -0
  172. catnip_lang-0.1.0/catnip_rs/build.rs +393 -0
  173. catnip_lang-0.1.0/catnip_rs/gen_opcodes.py +464 -0
  174. catnip_lang-0.1.0/catnip_rs/gen_theme.py +585 -0
  175. catnip_lang-0.1.0/catnip_rs/pyproject.toml +12 -0
  176. catnip_lang-0.1.0/catnip_rs/src/bin/bench_bigint_conversions.rs +114 -0
  177. catnip_lang-0.1.0/catnip_rs/src/bin/bench_bigint_ops.rs +59 -0
  178. catnip_lang-0.1.0/catnip_rs/src/bin/run.rs +691 -0
  179. catnip_lang-0.1.0/catnip_rs/src/cache/backend.rs +204 -0
  180. catnip_lang-0.1.0/catnip_rs/src/cache/disk.rs +397 -0
  181. catnip_lang-0.1.0/catnip_rs/src/cache/memoization.rs +272 -0
  182. catnip_lang-0.1.0/catnip_rs/src/cache/mod.rs +366 -0
  183. catnip_lang-0.1.0/catnip_rs/src/cfg/analysis.rs +323 -0
  184. catnip_lang-0.1.0/catnip_rs/src/cfg/basic_block.rs +89 -0
  185. catnip_lang-0.1.0/catnip_rs/src/cfg/builder_ir.rs +483 -0
  186. catnip_lang-0.1.0/catnip_rs/src/cfg/graph.rs +500 -0
  187. catnip_lang-0.1.0/catnip_rs/src/cfg/mod.rs +51 -0
  188. catnip_lang-0.1.0/catnip_rs/src/cfg/optimization.rs +373 -0
  189. catnip_lang-0.1.0/catnip_rs/src/cfg/region.rs +482 -0
  190. catnip_lang-0.1.0/catnip_rs/src/cfg/ssa.rs +776 -0
  191. catnip_lang-0.1.0/catnip_rs/src/cfg/ssa_builder.rs +363 -0
  192. catnip_lang-0.1.0/catnip_rs/src/cfg/ssa_cse.rs +252 -0
  193. catnip_lang-0.1.0/catnip_rs/src/cfg/ssa_destruction.rs +139 -0
  194. catnip_lang-0.1.0/catnip_rs/src/cfg/ssa_dse.rs +160 -0
  195. catnip_lang-0.1.0/catnip_rs/src/cfg/ssa_gvn.rs +246 -0
  196. catnip_lang-0.1.0/catnip_rs/src/cfg/ssa_iv.rs +713 -0
  197. catnip_lang-0.1.0/catnip_rs/src/cfg/ssa_licm.rs +261 -0
  198. catnip_lang-0.1.0/catnip_rs/src/cfg/tests.rs +150 -0
  199. catnip_lang-0.1.0/catnip_rs/src/cli/mod.rs +162 -0
  200. catnip_lang-0.1.0/catnip_rs/src/config/mod.rs +1223 -0
  201. catnip_lang-0.1.0/catnip_rs/src/constants.rs +56 -0
  202. catnip_lang-0.1.0/catnip_rs/src/context.rs +247 -0
  203. catnip_lang-0.1.0/catnip_rs/src/core/broadcast/mod.rs +22 -0
  204. catnip_lang-0.1.0/catnip_rs/src/core/broadcast/ops.rs +389 -0
  205. catnip_lang-0.1.0/catnip_rs/src/core/broadcast/simd.rs +253 -0
  206. catnip_lang-0.1.0/catnip_rs/src/core/builtins.rs +138 -0
  207. catnip_lang-0.1.0/catnip_rs/src/core/function.rs +659 -0
  208. catnip_lang-0.1.0/catnip_rs/src/core/meta.rs +305 -0
  209. catnip_lang-0.1.0/catnip_rs/src/core/method.rs +84 -0
  210. catnip_lang-0.1.0/catnip_rs/src/core/mod.rs +30 -0
  211. catnip_lang-0.1.0/catnip_rs/src/core/nodes.rs +112 -0
  212. catnip_lang-0.1.0/catnip_rs/src/core/op.rs +204 -0
  213. catnip_lang-0.1.0/catnip_rs/src/core/pattern.rs +424 -0
  214. catnip_lang-0.1.0/catnip_rs/src/core/registry/access.rs +117 -0
  215. catnip_lang-0.1.0/catnip_rs/src/core/registry/args.rs +63 -0
  216. catnip_lang-0.1.0/catnip_rs/src/core/registry/arithmetic.rs +76 -0
  217. catnip_lang-0.1.0/catnip_rs/src/core/registry/bitwise.rs +36 -0
  218. catnip_lang-0.1.0/catnip_rs/src/core/registry/control_flow.rs +1754 -0
  219. catnip_lang-0.1.0/catnip_rs/src/core/registry/execution.rs +1083 -0
  220. catnip_lang-0.1.0/catnip_rs/src/core/registry/functions.rs +300 -0
  221. catnip_lang-0.1.0/catnip_rs/src/core/registry/literals.rs +111 -0
  222. catnip_lang-0.1.0/catnip_rs/src/core/registry/logical.rs +132 -0
  223. catnip_lang-0.1.0/catnip_rs/src/core/registry/mod.rs +1145 -0
  224. catnip_lang-0.1.0/catnip_rs/src/core/registry/nd.rs +254 -0
  225. catnip_lang-0.1.0/catnip_rs/src/core/registry/patterns.rs +338 -0
  226. catnip_lang-0.1.0/catnip_rs/src/core/registry/stack.rs +29 -0
  227. catnip_lang-0.1.0/catnip_rs/src/core/scope.rs +816 -0
  228. catnip_lang-0.1.0/catnip_rs/src/debug/callback.rs +132 -0
  229. catnip_lang-0.1.0/catnip_rs/src/debug/console.rs +523 -0
  230. catnip_lang-0.1.0/catnip_rs/src/debug/mod.rs +21 -0
  231. catnip_lang-0.1.0/catnip_rs/src/debug/session.rs +393 -0
  232. catnip_lang-0.1.0/catnip_rs/src/debug/types.rs +83 -0
  233. catnip_lang-0.1.0/catnip_rs/src/dispatch.rs +108 -0
  234. catnip_lang-0.1.0/catnip_rs/src/freeze.rs +338 -0
  235. catnip_lang-0.1.0/catnip_rs/src/ir/json.rs +212 -0
  236. catnip_lang-0.1.0/catnip_rs/src/ir/mod.rs +17 -0
  237. catnip_lang-0.1.0/catnip_rs/src/ir/opcode.rs +2 -0
  238. catnip_lang-0.1.0/catnip_rs/src/ir/pure.rs +2 -0
  239. catnip_lang-0.1.0/catnip_rs/src/ir/pyclass.rs +202 -0
  240. catnip_lang-0.1.0/catnip_rs/src/ir/to_python.rs +292 -0
  241. catnip_lang-0.1.0/catnip_rs/src/jit/detector.rs +63 -0
  242. catnip_lang-0.1.0/catnip_rs/src/jit/executor.rs +64 -0
  243. catnip_lang-0.1.0/catnip_rs/src/jit/mod.rs +17 -0
  244. catnip_lang-0.1.0/catnip_rs/src/lib.rs +749 -0
  245. catnip_lang-0.1.0/catnip_rs/src/loader/cache.rs +30 -0
  246. catnip_lang-0.1.0/catnip_rs/src/loader/mod.rs +586 -0
  247. catnip_lang-0.1.0/catnip_rs/src/loader/namespace.rs +119 -0
  248. catnip_lang-0.1.0/catnip_rs/src/loader/native_plugin.rs +217 -0
  249. catnip_lang-0.1.0/catnip_rs/src/nd/declaration.rs +73 -0
  250. catnip_lang-0.1.0/catnip_rs/src/nd/future.rs +200 -0
  251. catnip_lang-0.1.0/catnip_rs/src/nd/mod.rs +18 -0
  252. catnip_lang-0.1.0/catnip_rs/src/nd/recur.rs +64 -0
  253. catnip_lang-0.1.0/catnip_rs/src/nd/scheduler.rs +324 -0
  254. catnip_lang-0.1.0/catnip_rs/src/nd/vm_decl.rs +363 -0
  255. catnip_lang-0.1.0/catnip_rs/src/nd/worker_pool.rs +214 -0
  256. catnip_lang-0.1.0/catnip_rs/src/parser/core.rs +81 -0
  257. catnip_lang-0.1.0/catnip_rs/src/parser/mod.rs +12 -0
  258. catnip_lang-0.1.0/catnip_rs/src/parser/transforms.rs +81 -0
  259. catnip_lang-0.1.0/catnip_rs/src/parser/tree_node.rs +99 -0
  260. catnip_lang-0.1.0/catnip_rs/src/pipeline/executor.rs +411 -0
  261. catnip_lang-0.1.0/catnip_rs/src/pipeline/mod.rs +798 -0
  262. catnip_lang-0.1.0/catnip_rs/src/policy/mod.rs +227 -0
  263. catnip_lang-0.1.0/catnip_rs/src/pragma/mod.rs +677 -0
  264. catnip_lang-0.1.0/catnip_rs/src/repl/mod.rs +143 -0
  265. catnip_lang-0.1.0/catnip_rs/src/runtime.rs +120 -0
  266. catnip_lang-0.1.0/catnip_rs/src/semantic/analyzer.rs +1642 -0
  267. catnip_lang-0.1.0/catnip_rs/src/semantic/base.rs +266 -0
  268. catnip_lang-0.1.0/catnip_rs/src/semantic/block_flattening.rs +128 -0
  269. catnip_lang-0.1.0/catnip_rs/src/semantic/blunt_code.rs +497 -0
  270. catnip_lang-0.1.0/catnip_rs/src/semantic/common_subexpression_elimination.rs +679 -0
  271. catnip_lang-0.1.0/catnip_rs/src/semantic/constant_folding.rs +676 -0
  272. catnip_lang-0.1.0/catnip_rs/src/semantic/constant_propagation.rs +172 -0
  273. catnip_lang-0.1.0/catnip_rs/src/semantic/copy_propagation.rs +156 -0
  274. catnip_lang-0.1.0/catnip_rs/src/semantic/dead_code_elimination.rs +263 -0
  275. catnip_lang-0.1.0/catnip_rs/src/semantic/dead_store_elimination.rs +289 -0
  276. catnip_lang-0.1.0/catnip_rs/src/semantic/function_inlining.rs +441 -0
  277. catnip_lang-0.1.0/catnip_rs/src/semantic/mod.rs +42 -0
  278. catnip_lang-0.1.0/catnip_rs/src/semantic/optimizer.rs +161 -0
  279. catnip_lang-0.1.0/catnip_rs/src/semantic/strength_reduction.rs +210 -0
  280. catnip_lang-0.1.0/catnip_rs/src/semantic/tail_recursion_to_loop.rs +852 -0
  281. catnip_lang-0.1.0/catnip_rs/src/semantic/tests/helpers.rs +114 -0
  282. catnip_lang-0.1.0/catnip_rs/src/semantic/tests/mod.rs +24 -0
  283. catnip_lang-0.1.0/catnip_rs/src/semantic/tests/test_blunt_code.rs +160 -0
  284. catnip_lang-0.1.0/catnip_rs/src/semantic/tests/test_constant_folding.rs +228 -0
  285. catnip_lang-0.1.0/catnip_rs/src/semantic/tests/test_constant_propagation.rs +60 -0
  286. catnip_lang-0.1.0/catnip_rs/src/semantic/tests/test_cse.rs +160 -0
  287. catnip_lang-0.1.0/catnip_rs/src/semantic/tests/test_optimizer.rs +123 -0
  288. catnip_lang-0.1.0/catnip_rs/src/semantic/utils.rs +38 -0
  289. catnip_lang-0.1.0/catnip_rs/src/tools/debugger_shims.rs +244 -0
  290. catnip_lang-0.1.0/catnip_rs/src/tools/mod.rs +13 -0
  291. catnip_lang-0.1.0/catnip_rs/src/tools/shims.rs +441 -0
  292. catnip_lang-0.1.0/catnip_rs/src/transformer/mod.rs +340 -0
  293. catnip_lang-0.1.0/catnip_rs/src/types.rs +2 -0
  294. catnip_lang-0.1.0/catnip_rs/src/vm/compiler.rs +70 -0
  295. catnip_lang-0.1.0/catnip_rs/src/vm/compiler_core.rs +363 -0
  296. catnip_lang-0.1.0/catnip_rs/src/vm/compiler_input.rs +622 -0
  297. catnip_lang-0.1.0/catnip_rs/src/vm/core.rs +8561 -0
  298. catnip_lang-0.1.0/catnip_rs/src/vm/enums.rs +254 -0
  299. catnip_lang-0.1.0/catnip_rs/src/vm/frame.rs +1720 -0
  300. catnip_lang-0.1.0/catnip_rs/src/vm/host.rs +1911 -0
  301. catnip_lang-0.1.0/catnip_rs/src/vm/iter.rs +92 -0
  302. catnip_lang-0.1.0/catnip_rs/src/vm/mod.rs +53 -0
  303. catnip_lang-0.1.0/catnip_rs/src/vm/opcode.rs +2 -0
  304. catnip_lang-0.1.0/catnip_rs/src/vm/pattern.rs +41 -0
  305. catnip_lang-0.1.0/catnip_rs/src/vm/py_interop.rs +890 -0
  306. catnip_lang-0.1.0/catnip_rs/src/vm/structs.rs +1387 -0
  307. catnip_lang-0.1.0/catnip_rs/src/vm/traits.rs +373 -0
  308. catnip_lang-0.1.0/catnip_rs/src/vm/unified_compiler.rs +3326 -0
  309. catnip_lang-0.1.0/catnip_rs/src/vm/unions.rs +181 -0
  310. catnip_lang-0.1.0/catnip_rs/src/vm/value.rs +1481 -0
  311. catnip_lang-0.1.0/catnip_rs/src/weird_log.rs +422 -0
  312. catnip_lang-0.1.0/catnip_rs/tests/common/mod.rs +82 -0
  313. catnip_lang-0.1.0/catnip_rs/tests/regression_chained_calls.rs +90 -0
  314. catnip_lang-0.1.0/catnip_rs/tests/regression_newlines.rs +279 -0
  315. catnip_lang-0.1.0/catnip_rs/tests/regression_vmfunction.rs +100 -0
  316. catnip_lang-0.1.0/catnip_rs/tests/run_basic.rs +118 -0
  317. catnip_lang-0.1.0/catnip_rs/tests/run_broadcast.rs +69 -0
  318. catnip_lang-0.1.0/catnip_rs/tests/run_cli.rs +166 -0
  319. catnip_lang-0.1.0/catnip_rs/tests/run_control_flow.rs +125 -0
  320. catnip_lang-0.1.0/catnip_rs/tests/run_functions.rs +186 -0
  321. catnip_lang-0.1.0/catnip_rs/tests/run_nd_process.rs +93 -0
  322. catnip_lang-0.1.0/catnip_rs/tests/run_worker.rs +190 -0
  323. catnip_lang-0.1.0/catnip_rs/tests/run_worker_pool.rs +121 -0
  324. catnip_lang-0.1.0/catnip_rs/visual.toml +49 -0
  325. catnip_lang-0.1.0/catnip_tools/Cargo.toml +14 -0
  326. catnip_lang-0.1.0/catnip_tools/src/config.rs +52 -0
  327. catnip_lang-0.1.0/catnip_tools/src/debugger.rs +246 -0
  328. catnip_lang-0.1.0/catnip_tools/src/errors.rs +142 -0
  329. catnip_lang-0.1.0/catnip_tools/src/ffi.rs +120 -0
  330. catnip_lang-0.1.0/catnip_tools/src/formatter.rs +355 -0
  331. catnip_lang-0.1.0/catnip_tools/src/indentation.rs +167 -0
  332. catnip_lang-0.1.0/catnip_tools/src/lib.rs +15 -0
  333. catnip_lang-0.1.0/catnip_tools/src/lint_cfg.rs +2700 -0
  334. catnip_lang-0.1.0/catnip_tools/src/linter.rs +2921 -0
  335. catnip_lang-0.1.0/catnip_tools/src/multiline.rs +236 -0
  336. catnip_lang-0.1.0/catnip_tools/src/pretty/align.rs +366 -0
  337. catnip_lang-0.1.0/catnip_tools/src/pretty/combinators.rs +105 -0
  338. catnip_lang-0.1.0/catnip_tools/src/pretty/convert.rs +296 -0
  339. catnip_lang-0.1.0/catnip_tools/src/pretty/convert_decl.rs +317 -0
  340. catnip_lang-0.1.0/catnip_tools/src/pretty/convert_expr.rs +960 -0
  341. catnip_lang-0.1.0/catnip_tools/src/pretty/convert_stmt.rs +557 -0
  342. catnip_lang-0.1.0/catnip_tools/src/pretty/doc.rs +113 -0
  343. catnip_lang-0.1.0/catnip_tools/src/pretty/layout.rs +442 -0
  344. catnip_lang-0.1.0/catnip_tools/src/pretty/mod.rs +514 -0
  345. catnip_lang-0.1.0/catnip_tools/src/sourcemap.rs +207 -0
  346. catnip_lang-0.1.0/catnip_tools/src/suggest.rs +156 -0
  347. catnip_lang-0.1.0/pyproject.toml +279 -0
  348. catnip_lang-0.1.0/setup.cfg +4 -0
  349. catnip_lang-0.1.0/setup.py +124 -0
  350. catnip_lang-0.1.0/tests/__init__.py +1 -0
  351. catnip_lang-0.1.0/tests/__main__.py +18 -0
  352. catnip_lang-0.1.0/tests/apps/__init__.py +1 -0
  353. catnip_lang-0.1.0/tests/apps/test_pandas.py +1205 -0
  354. catnip_lang-0.1.0/tests/bytecode/__init__.py +9 -0
  355. catnip_lang-0.1.0/tests/bytecode/helpers.py +107 -0
  356. catnip_lang-0.1.0/tests/bytecode/test_lambda_correctness.py +170 -0
  357. catnip_lang-0.1.0/tests/bytecode/test_lambda_ir.py +116 -0
  358. catnip_lang-0.1.0/tests/cfg/__init__.py +2 -0
  359. catnip_lang-0.1.0/tests/cfg/test_cfg_optimization.py +223 -0
  360. catnip_lang-0.1.0/tests/cfg/test_cfg_reconstruction.py +114 -0
  361. catnip_lang-0.1.0/tests/cfg/test_cfg_rust.py +161 -0
  362. catnip_lang-0.1.0/tests/cli/__init__.py +7 -0
  363. catnip_lang-0.1.0/tests/cli/test_cache_command.py +20 -0
  364. catnip_lang-0.1.0/tests/cli/test_cli_commands.py +133 -0
  365. catnip_lang-0.1.0/tests/cli/test_cli_flags.py +400 -0
  366. catnip_lang-0.1.0/tests/cli/test_config.py +56 -0
  367. catnip_lang-0.1.0/tests/cli/test_config_option.py +159 -0
  368. catnip_lang-0.1.0/tests/cli/test_meta_path.py +24 -0
  369. catnip_lang-0.1.0/tests/config/__init__.py +1 -0
  370. catnip_lang-0.1.0/tests/config/test_config_sections.py +130 -0
  371. catnip_lang-0.1.0/tests/conftest.py +180 -0
  372. catnip_lang-0.1.0/tests/core/__init__.py +7 -0
  373. catnip_lang-0.1.0/tests/core/test_helpers.py +49 -0
  374. catnip_lang-0.1.0/tests/core/test_pickle.py +149 -0
  375. catnip_lang-0.1.0/tests/debug/__init__.py +1 -0
  376. catnip_lang-0.1.0/tests/debug/test_debugger.py +327 -0
  377. catnip_lang-0.1.0/tests/gen_tests_badge.py +97 -0
  378. catnip_lang-0.1.0/tests/jit_functions/test_debug_jit.py +61 -0
  379. catnip_lang-0.1.0/tests/jit_functions/test_function_benchmark.py +85 -0
  380. catnip_lang-0.1.0/tests/jit_functions/test_function_compile.py +59 -0
  381. catnip_lang-0.1.0/tests/jit_functions/test_function_compile_verbose.py +46 -0
  382. catnip_lang-0.1.0/tests/jit_functions/test_function_simple.py +80 -0
  383. catnip_lang-0.1.0/tests/jit_functions/test_function_trace.py +53 -0
  384. catnip_lang-0.1.0/tests/jit_functions/test_recursive_phase1.py +67 -0
  385. catnip_lang-0.1.0/tests/jit_functions/test_recursive_phase2.py +65 -0
  386. catnip_lang-0.1.0/tests/jit_functions/test_recursive_phase2_simple.py +49 -0
  387. catnip_lang-0.1.0/tests/language/__init__.py +1 -0
  388. catnip_lang-0.1.0/tests/language/registry.py +50 -0
  389. catnip_lang-0.1.0/tests/language/test_abstract_methods.py +241 -0
  390. catnip_lang-0.1.0/tests/language/test_blocks_conditionals.py +190 -0
  391. catnip_lang-0.1.0/tests/language/test_broadcast_deep.py +97 -0
  392. catnip_lang-0.1.0/tests/language/test_broadcast_filter.py +199 -0
  393. catnip_lang-0.1.0/tests/language/test_broadcast_iterables.py +169 -0
  394. catnip_lang-0.1.0/tests/language/test_broadcast_scalar.py +121 -0
  395. catnip_lang-0.1.0/tests/language/test_broadcast_simd.py +220 -0
  396. catnip_lang-0.1.0/tests/language/test_cache.py +227 -0
  397. catnip_lang-0.1.0/tests/language/test_closures.py +478 -0
  398. catnip_lang-0.1.0/tests/language/test_complex.py +215 -0
  399. catnip_lang-0.1.0/tests/language/test_context.py +224 -0
  400. catnip_lang-0.1.0/tests/language/test_control_flow.py +348 -0
  401. catnip_lang-0.1.0/tests/language/test_decimal.py +161 -0
  402. catnip_lang-0.1.0/tests/language/test_disk_cache.py +232 -0
  403. catnip_lang-0.1.0/tests/language/test_edge_cases.py +1159 -0
  404. catnip_lang-0.1.0/tests/language/test_enums.py +284 -0
  405. catnip_lang-0.1.0/tests/language/test_error_handling.py +372 -0
  406. catnip_lang-0.1.0/tests/language/test_exceptions.py +303 -0
  407. catnip_lang-0.1.0/tests/language/test_extensions.py +258 -0
  408. catnip_lang-0.1.0/tests/language/test_feature_imports.py +919 -0
  409. catnip_lang-0.1.0/tests/language/test_fold.py +84 -0
  410. catnip_lang-0.1.0/tests/language/test_fstrings.py +427 -0
  411. catnip_lang-0.1.0/tests/language/test_function_parameters.py +274 -0
  412. catnip_lang-0.1.0/tests/language/test_in_operator.py +173 -0
  413. catnip_lang-0.1.0/tests/language/test_indexing.py +574 -0
  414. catnip_lang-0.1.0/tests/language/test_is_operator.py +121 -0
  415. catnip_lang-0.1.0/tests/language/test_literals.py +869 -0
  416. catnip_lang-0.1.0/tests/language/test_loader_security.py +77 -0
  417. catnip_lang-0.1.0/tests/language/test_match_structural.py +356 -0
  418. catnip_lang-0.1.0/tests/language/test_memoization.py +301 -0
  419. catnip_lang-0.1.0/tests/language/test_memoization_advanced.py +270 -0
  420. catnip_lang-0.1.0/tests/language/test_module_policy.py +193 -0
  421. catnip_lang-0.1.0/tests/language/test_multiple_inheritance.py +344 -0
  422. catnip_lang-0.1.0/tests/language/test_nd_recursion.py +243 -0
  423. catnip_lang-0.1.0/tests/language/test_null_coalesce.py +112 -0
  424. catnip_lang-0.1.0/tests/language/test_operator_overload.py +395 -0
  425. catnip_lang-0.1.0/tests/language/test_operator_overload_matrix.py +341 -0
  426. catnip_lang-0.1.0/tests/language/test_parser_getattr.py +72 -0
  427. catnip_lang-0.1.0/tests/language/test_pass_context.py +220 -0
  428. catnip_lang-0.1.0/tests/language/test_pattern_guards.py +504 -0
  429. catnip_lang-0.1.0/tests/language/test_pipeline_equivalence.py +418 -0
  430. catnip_lang-0.1.0/tests/language/test_pragma.py +631 -0
  431. catnip_lang-0.1.0/tests/language/test_python_callbacks.py +52 -0
  432. catnip_lang-0.1.0/tests/language/test_reverse_operators.py +273 -0
  433. catnip_lang-0.1.0/tests/language/test_runtime.py +171 -0
  434. catnip_lang-0.1.0/tests/language/test_scope.py +99 -0
  435. catnip_lang-0.1.0/tests/language/test_setattr.py +170 -0
  436. catnip_lang-0.1.0/tests/language/test_setitem.py +156 -0
  437. catnip_lang-0.1.0/tests/language/test_shift_operators.py +175 -0
  438. catnip_lang-0.1.0/tests/language/test_statement_separators.py +356 -0
  439. catnip_lang-0.1.0/tests/language/test_static_methods.py +215 -0
  440. catnip_lang-0.1.0/tests/language/test_struct.py +556 -0
  441. catnip_lang-0.1.0/tests/language/test_struct_edge_cases.py +250 -0
  442. catnip_lang-0.1.0/tests/language/test_struct_methods.py +177 -0
  443. catnip_lang-0.1.0/tests/language/test_struct_pattern.py +420 -0
  444. catnip_lang-0.1.0/tests/language/test_struct_refcount.py +203 -0
  445. catnip_lang-0.1.0/tests/language/test_tak_recursion.py +76 -0
  446. catnip_lang-0.1.0/tests/language/test_traits.py +221 -0
  447. catnip_lang-0.1.0/tests/language/test_treesitter_parser.py +198 -0
  448. catnip_lang-0.1.0/tests/language/test_try_except.py +421 -0
  449. catnip_lang-0.1.0/tests/language/test_type.py +95 -0
  450. catnip_lang-0.1.0/tests/language/test_unions.py +360 -0
  451. catnip_lang-0.1.0/tests/language/test_unpacking.py +361 -0
  452. catnip_lang-0.1.0/tests/language/test_variadic.py +218 -0
  453. catnip_lang-0.1.0/tests/language/test_weird_log.py +167 -0
  454. catnip_lang-0.1.0/tests/language/test_with.py +278 -0
  455. catnip_lang-0.1.0/tests/libs/__init__.py +1 -0
  456. catnip_lang-0.1.0/tests/libs/conftest.py +29 -0
  457. catnip_lang-0.1.0/tests/libs/test_io.py +253 -0
  458. catnip_lang-0.1.0/tests/optimization/__init__.py +1 -0
  459. catnip_lang-0.1.0/tests/optimization/template.py +175 -0
  460. catnip_lang-0.1.0/tests/optimization/test_blunt_code.py +56 -0
  461. catnip_lang-0.1.0/tests/optimization/test_constant_folding.py +61 -0
  462. catnip_lang-0.1.0/tests/optimization/test_cse.py +34 -0
  463. catnip_lang-0.1.0/tests/optimization/test_function_inlining.py +129 -0
  464. catnip_lang-0.1.0/tests/optimization/test_iv_strength_reduction.py +126 -0
  465. catnip_lang-0.1.0/tests/optimization/test_jit_forced.py +190 -0
  466. catnip_lang-0.1.0/tests/optimization/test_nd_batching.py +151 -0
  467. catnip_lang-0.1.0/tests/optimization/test_nd_memoization.py +205 -0
  468. catnip_lang-0.1.0/tests/optimization/test_optimizer.py +271 -0
  469. catnip_lang-0.1.0/tests/optimization/test_tail_call.py +687 -0
  470. catnip_lang-0.1.0/tests/serial/__init__.py +11 -0
  471. catnip_lang-0.1.0/tests/serial/jit/__init__.py +17 -0
  472. catnip_lang-0.1.0/tests/serial/jit/conftest.py +78 -0
  473. catnip_lang-0.1.0/tests/serial/jit/test_break.py +105 -0
  474. catnip_lang-0.1.0/tests/serial/jit/test_compilation.py +176 -0
  475. catnip_lang-0.1.0/tests/serial/jit/test_execution.py +124 -0
  476. catnip_lang-0.1.0/tests/serial/jit/test_inlining.py +618 -0
  477. catnip_lang-0.1.0/tests/serial/jit/test_nonregression.py +293 -0
  478. catnip_lang-0.1.0/tests/serial/jit/test_recursion.py +511 -0
  479. catnip_lang-0.1.0/tests/serial/test_jit_types.py +79 -0
  480. catnip_lang-0.1.0/tests/serial/test_nd_concurrency.py +316 -0
  481. catnip_lang-0.1.0/tests/serial/test_repl_process.py +44 -0
  482. catnip_lang-0.1.0/tests/tools/__init__.py +1 -0
  483. catnip_lang-0.1.0/tests/tools/test_formatter.py +423 -0
  484. catnip_lang-0.1.0/tests/tools/test_json_serialization.py +139 -0
  485. catnip_lang-0.1.0/tests/tools/test_linter.py +711 -0
@@ -0,0 +1,52 @@
1
+ [workspace]
2
+ resolver = "2"
3
+ members = [
4
+ "catnip_core",
5
+ "catnip_vm",
6
+ "catnip_rs",
7
+ "catnip_tools",
8
+ "catnip_repl",
9
+ "catnip_grammar",
10
+ "catnip_lsp",
11
+ # @generated-stdlib-workspace-start
12
+ "catnip_libs/http/rust",
13
+ "catnip_libs/io/rust",
14
+ "catnip_libs/sys/rust",
15
+ # @generated-stdlib-workspace-end
16
+ ]
17
+
18
+ [workspace.package]
19
+ version = "0.1.0"
20
+ edition = "2021"
21
+ authors = ["Catnip Contributors"]
22
+ license = "MIT"
23
+ repository = "https://github.com/ari/catnip"
24
+
25
+ [workspace.dependencies]
26
+ # Shared dependencies entre tous les membres du workspace
27
+ pyo3 = { version = "0.28", default-features = false, features = ["macros"] }
28
+ tree-sitter = "0.26"
29
+ serde = { version = "1.0", features = ["derive"] }
30
+ serde_json = "1.0"
31
+
32
+ # Profile commun pour tous les binaires
33
+ [profile.release]
34
+ opt-level = 3
35
+ lto = "thin"
36
+ codegen-units = 1
37
+ strip = true
38
+ panic = "abort"
39
+
40
+ [profile.dev]
41
+ opt-level = 0
42
+ debug = true
43
+
44
+ # Dev rapide : CATNIP_DEV=1 pip install -e .
45
+ [profile.fastdev]
46
+ inherits = "release"
47
+ opt-level = 2
48
+ lto = "thin"
49
+ codegen-units = 16
50
+ incremental = true
51
+ strip = false
52
+ debug = true