jaclang 0.8.1__tar.gz → 0.8.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.

Potentially problematic release.


This version of jaclang might be problematic. Click here for more details.

Files changed (594) hide show
  1. {jaclang-0.8.1 → jaclang-0.8.3}/PKG-INFO +1 -1
  2. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/__init__.py +6 -0
  3. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/cli/cli.py +21 -50
  4. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/codeinfo.py +0 -1
  5. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/constant.py +2 -0
  6. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/jac.lark +17 -10
  7. jaclang-0.8.3/jaclang/compiler/larkparse/jac_parser.py +3444 -0
  8. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/parser.py +34 -10
  9. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/__init__.py +2 -14
  10. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/annex_pass.py +2 -8
  11. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/cfg_build_pass.py +38 -12
  12. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/import_pass.py +3 -11
  13. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/pyast_gen_pass.py +246 -592
  14. jaclang-0.8.3/jaclang/compiler/passes/main/sem_def_match_pass.py +67 -0
  15. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/sym_tab_build_pass.py +8 -0
  16. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/sym_tab_link_pass.py +2 -5
  17. jaclang-0.8.3/jaclang/compiler/passes/main/tests/fixtures/sem_def_match.impl.jac +12 -0
  18. jaclang-0.8.3/jaclang/compiler/passes/main/tests/fixtures/sem_def_match.jac +31 -0
  19. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/test_cfg_build_pass.py +2 -8
  20. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/test_decl_impl_match_pass.py +7 -8
  21. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/test_import_pass.py +5 -18
  22. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/test_pyast_gen_pass.py +2 -6
  23. jaclang-0.8.3/jaclang/compiler/passes/main/tests/test_sem_def_match_pass.py +38 -0
  24. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/test_sub_node_pass.py +1 -3
  25. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/test_sym_tab_link_pass.py +20 -17
  26. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/doc_ir_gen_pass.py +259 -106
  27. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/jac_formatter_pass.py +2 -0
  28. jaclang-0.8.3/jaclang/compiler/passes/tool/tests/fixtures/archetype_frmt.jac +14 -0
  29. jaclang-0.8.3/jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/triple_quoted_string.jac +7 -0
  30. jaclang-0.8.3/jaclang/compiler/passes/tool/tests/fixtures/has_frmt.jac +13 -0
  31. jaclang-0.8.3/jaclang/compiler/passes/tool/tests/fixtures/import_fmt.jac +6 -0
  32. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac +3 -3
  33. jaclang-0.8.3/jaclang/compiler/passes/tool/tests/fixtures/tagbreak.jac +9 -0
  34. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/test_jac_format_pass.py +25 -3
  35. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/test_unparse_validate.py +2 -2
  36. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/program.py +23 -60
  37. jaclang-0.8.3/jaclang/compiler/tests/fixtures/pkg_import_lib_py/__init__.py +5 -0
  38. jaclang-0.8.3/jaclang/compiler/tests/fixtures/pkg_import_lib_py/sub/__init__.py +3 -0
  39. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/test_importer.py +10 -13
  40. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/unitree.py +88 -16
  41. jaclang-0.8.3/jaclang/langserve/__init__.jac +1 -0
  42. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/engine.jac +113 -108
  43. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/server.jac +17 -2
  44. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/server_test/test_lang_serve.py +138 -46
  45. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/server_test/utils.py +35 -9
  46. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/test_sem_tokens.py +1 -1
  47. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/test_server.py +3 -7
  48. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/archetype.py +127 -5
  49. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/importer.py +51 -94
  50. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/machine.py +391 -268
  51. jaclang-0.8.3/jaclang/runtimelib/meta_importer.py +86 -0
  52. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/tests/fixtures/graph_purger.jac +24 -26
  53. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/tests/fixtures/other_root_access.jac +25 -16
  54. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/tests/test_jaseci.py +3 -1
  55. jaclang-0.8.3/jaclang/tests/fixtures/arch_rel_import_creation.jac +30 -0
  56. jaclang-0.8.3/jaclang/tests/fixtures/async_ability.jac +51 -0
  57. jaclang-0.8.3/jaclang/tests/fixtures/async_walker.jac +28 -0
  58. jaclang-0.8.3/jaclang/tests/fixtures/create_dynamic_archetype.jac +32 -0
  59. jaclang-0.8.3/jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +11 -0
  60. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/deep/deeper/snd_lev.jac +2 -2
  61. jaclang-0.8.3/jaclang/tests/fixtures/deep/deeper/snd_lev_dup.jac +6 -0
  62. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/deep/one_lev.jac +2 -2
  63. jaclang-0.8.3/jaclang/tests/fixtures/deep/one_lev_dup.jac +6 -0
  64. jaclang-0.8.3/jaclang/tests/fixtures/dynamic_archetype.jac +41 -0
  65. jaclang-0.8.3/jaclang/tests/fixtures/foo.jac +34 -0
  66. jaclang-0.8.3/jaclang/tests/fixtures/jac_from_py.py +4 -0
  67. jaclang-0.8.1/jaclang/tests/fixtures/jp_importer_auto.jac → jaclang-0.8.3/jaclang/tests/fixtures/jp_importer.jac +5 -3
  68. jaclang-0.8.3/jaclang/tests/fixtures/jp_importer_auto.jac +16 -0
  69. jaclang-0.8.3/jaclang/tests/fixtures/unicode_strings.jac +24 -0
  70. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/walker_update.jac +5 -7
  71. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/test_language.py +138 -140
  72. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/test_reference.py +9 -4
  73. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/test_typecheck.py +13 -26
  74. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/utils/lang_tools.py +7 -5
  75. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/utils/module_resolver.py +23 -0
  76. {jaclang-0.8.1 → jaclang-0.8.3}/pyproject.toml +3 -1
  77. jaclang-0.8.3/sitecustomize.py +8 -0
  78. jaclang-0.8.1/jaclang/compiler/larkparse/jac_parser.py +0 -3444
  79. jaclang-0.8.1/jaclang/compiler/passes/main/tests/fixtures/main_err.jac +0 -6
  80. jaclang-0.8.1/jaclang/compiler/passes/main/tests/fixtures/second_err.jac +0 -4
  81. jaclang-0.8.1/jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +0 -644
  82. jaclang-0.8.1/jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/triple_quoted_string.jac +0 -6
  83. jaclang-0.8.1/jaclang/compiler/passes/tool/tests/test_doc_ir_gen_pass.py +0 -29
  84. jaclang-0.8.1/jaclang/compiler/tests/fixtures/pkg_import_lib_py/__init__.py +0 -11
  85. jaclang-0.8.1/jaclang/compiler/tests/fixtures/pkg_import_lib_py/sub/__init__.py +0 -7
  86. jaclang-0.8.1/jaclang/langserve/__init__.jac +0 -1
  87. jaclang-0.8.1/jaclang/tests/fixtures/arch_rel_import_creation.jac +0 -30
  88. jaclang-0.8.1/jaclang/tests/fixtures/async_walker.jac +0 -23
  89. jaclang-0.8.1/jaclang/tests/fixtures/create_dynamic_archetype.jac +0 -35
  90. jaclang-0.8.1/jaclang/tests/fixtures/deep/deeper/__init__.jac +0 -1
  91. jaclang-0.8.1/jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +0 -8
  92. jaclang-0.8.1/jaclang/tests/fixtures/deep/one_lev_dup.jac +0 -5
  93. jaclang-0.8.1/jaclang/tests/fixtures/dynamic_archetype.jac +0 -34
  94. jaclang-0.8.1/jaclang/tests/fixtures/foo.jac +0 -42
  95. jaclang-0.8.1/jaclang/tests/fixtures/jac_from_py.py +0 -4
  96. jaclang-0.8.1/jaclang/tests/fixtures/jp_importer.jac +0 -16
  97. {jaclang-0.8.1 → jaclang-0.8.3}/README.md +0 -0
  98. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/cli/.gitignore +0 -0
  99. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/cli/__init__.py +0 -0
  100. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/cli/cli.md +0 -0
  101. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/cli/cmdreg.py +0 -0
  102. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/__init__.py +0 -0
  103. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/larkparse/__init__.py +0 -0
  104. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/__init__.py +0 -0
  105. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/def_impl_match_pass.py +0 -0
  106. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/def_use_pass.py +0 -0
  107. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/inheritance_pass.py +0 -0
  108. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/pyast_load_pass.py +0 -0
  109. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/pybc_gen_pass.py +0 -0
  110. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/pyjac_ast_link_pass.py +0 -0
  111. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/__init__.py +0 -0
  112. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/access_checker.jac +0 -0
  113. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/access_modifier.jac +0 -0
  114. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/atest.impl.jac +0 -0
  115. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/atest.jac +0 -0
  116. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/autoimpl.empty.impl.jac +0 -0
  117. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl/getme.impl.jac +0 -0
  118. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl.jac +0 -0
  119. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/autoimpl.jac +0 -0
  120. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/autoimpl.something.else.impl.jac +0 -0
  121. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/base.impl.jac +0 -0
  122. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/base.jac +0 -0
  123. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/base2.impl.jac +0 -0
  124. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/base2.jac +0 -0
  125. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/blip.jac +0 -0
  126. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/cfg_ability_test.jac +0 -0
  127. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/cfg_gen.jac +0 -0
  128. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/circular_import.jac +0 -0
  129. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/codegentext.jac +0 -0
  130. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/data_spatial_types.jac +0 -0
  131. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/decls.jac +0 -0
  132. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/defn_decl_mismatch.jac +0 -0
  133. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/defs_and_uses.jac +0 -0
  134. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/enumerations.jac +0 -0
  135. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/fstrings.jac +0 -0
  136. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/func.jac +0 -0
  137. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/func2.jac +0 -0
  138. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/game1.jac +0 -0
  139. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/impl/defs1.jac +0 -0
  140. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/impl/defs2.jac +0 -0
  141. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/impl/imps.jac +0 -0
  142. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/impl_grab.impl.jac +0 -0
  143. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/impl_grab.jac +0 -0
  144. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/incautoimpl.jac +0 -0
  145. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/main_err.impl.jac +0 -0
  146. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/mod_type_assign.jac +0 -0
  147. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/mtest.impl.jac +0 -0
  148. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/mtest.jac +0 -0
  149. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/multi_def_err.jac +0 -0
  150. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/nested_impls.jac +0 -0
  151. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/py_imp_test.jac +0 -0
  152. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/pygame_mock/__init__.py +0 -0
  153. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/pygame_mock/__init__.pyi +0 -0
  154. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/pygame_mock/color.py +0 -0
  155. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/pygame_mock/constants.py +0 -0
  156. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/pygame_mock/display.py +0 -0
  157. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/str2doc.py +0 -0
  158. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/action/__init__.py +0 -0
  159. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/action/actions.jac +0 -0
  160. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/main.jac +0 -0
  161. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/no_dupls.jac +0 -0
  162. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/one.jac +0 -0
  163. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/fixtures/type_info.jac +0 -0
  164. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/test_def_use_pass.py +0 -0
  165. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/test_pyast_build_pass.py +0 -0
  166. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/test_pybc_gen_pass.py +0 -0
  167. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/main/tests/test_sym_tab_build_pass.py +0 -0
  168. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/__init__.py +0 -0
  169. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/doc_ir.py +0 -0
  170. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/fuse_comments_pass.py +0 -0
  171. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/__init__.py +0 -0
  172. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +0 -0
  173. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/doc_string.jac +0 -0
  174. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/access_mod_check.jac +0 -0
  175. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/archetype_test.jac +0 -0
  176. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/comment_alignment.jac +0 -0
  177. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/comments.jac +0 -0
  178. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/decorator_stack.jac +0 -0
  179. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/esc_keywords.jac +0 -0
  180. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/line_spacing.jac +0 -0
  181. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/long_names.jac +0 -0
  182. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot +0 -0
  183. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.jac +0 -0
  184. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.txt +0 -0
  185. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/ability_impl_long_comprehension.jac +0 -0
  186. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/call_with_many_parameters.jac +0 -0
  187. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/entry_main.jac +0 -0
  188. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/long_line_nested_dict_access.jac +0 -0
  189. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/multiline_fstrings.jac +0 -0
  190. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_dict.jac +0 -0
  191. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_loop_and_incrementer.jac +0 -0
  192. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/simple_walker.jac +0 -0
  193. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/try_block_and_walker_spawn_and_fstrings.jac +0 -0
  194. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/tuple_iteration_and_not_negation.jac +0 -0
  195. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/type_annotation.jac +0 -0
  196. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_decl_only.jac +0 -0
  197. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_default_values_types_and_docstrings.jac +0 -0
  198. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_inline_ability_impl.jac +0 -0
  199. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac +0 -0
  200. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/tool/tests/test_fuse_comments_pass.py +0 -0
  201. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/transform.py +0 -0
  202. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/uni_pass.py +0 -0
  203. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/passes/utils/__init__.py +0 -0
  204. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/__init__.py +0 -0
  205. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/__init__.py +0 -0
  206. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/activity.py +0 -0
  207. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/codegentext.jac +0 -0
  208. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/fam.jac +0 -0
  209. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/hello_world.jac +0 -0
  210. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/kwesc.jac +0 -0
  211. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/mod_doc_test.jac +0 -0
  212. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/pkg_import_lib/__init__.jac +0 -0
  213. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/pkg_import_lib/sub/__init__.jac +0 -0
  214. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/pkg_import_lib/sub/helper.jac +0 -0
  215. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/pkg_import_lib/tools.jac +0 -0
  216. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/pkg_import_lib_py/sub/helper.jac +0 -0
  217. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/pkg_import_lib_py/tools.jac +0 -0
  218. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/pkg_import_main.jac +0 -0
  219. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/pkg_import_main_py.jac +0 -0
  220. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/staticcheck.jac +0 -0
  221. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/fixtures/stuff.jac +0 -0
  222. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/compiler/tests/test_parser.py +0 -0
  223. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/sem_manager.jac +0 -0
  224. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/__init__.py +0 -0
  225. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/defaults.py +0 -0
  226. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/fixtures/base_module_structure.jac +0 -0
  227. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/fixtures/circle.jac +0 -0
  228. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/fixtures/circle_err.jac +0 -0
  229. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/fixtures/circle_pure.impl.jac +0 -0
  230. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/fixtures/circle_pure.jac +0 -0
  231. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/fixtures/circle_pure.test.jac +0 -0
  232. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/fixtures/circle_pure_err.impl.jac +0 -0
  233. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/fixtures/circle_pure_err.jac +0 -0
  234. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/fixtures/deep_check_crash.jac +0 -0
  235. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/fixtures/hello.jac +0 -0
  236. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/fixtures/import_include_statements.jac +0 -0
  237. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/fixtures/py_import.py +0 -0
  238. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/fixtures/rename.jac +0 -0
  239. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/pylsp_jsonrpc/__init__.py +0 -0
  240. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/pylsp_jsonrpc/dispatchers.py +0 -0
  241. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/pylsp_jsonrpc/endpoint.py +0 -0
  242. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/pylsp_jsonrpc/exceptions.py +0 -0
  243. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/pylsp_jsonrpc/streams.py +0 -0
  244. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/server_test/code_test.py +0 -0
  245. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/tests/session.jac +0 -0
  246. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/langserve/utils.jac +0 -0
  247. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/py.typed +0 -0
  248. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/__init__.py +0 -0
  249. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/builtin.py +0 -0
  250. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/constructs.py +0 -0
  251. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/memory.py +0 -0
  252. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/test.py +0 -0
  253. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/tests/__init__.py +0 -0
  254. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/tests/fixtures/impl_match.jac +0 -0
  255. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/tests/fixtures/impl_match_impl.jac +0 -0
  256. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/tests/fixtures/savable_object.jac +0 -0
  257. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/tests/fixtures/simple_node_connection.jac +0 -0
  258. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/tests/fixtures/simple_persistent.jac +0 -0
  259. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/tests/fixtures/traversing_save.jac +0 -0
  260. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/tests/test_features.py +0 -0
  261. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/runtimelib/utils.py +0 -0
  262. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/settings.py +0 -0
  263. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/__init__.py +0 -0
  264. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/__init__.py +0 -0
  265. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/abc_check.jac +0 -0
  266. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/arch_create_util.jac +0 -0
  267. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/archetype_def_bug.jac +0 -0
  268. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/arithmetic_bug.jac +0 -0
  269. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/assign_compr.jac +0 -0
  270. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/assign_compr_dup.jac +0 -0
  271. /jaclang-0.8.1/jaclang/tests/fixtures/async_ability.jac → /jaclang-0.8.3/jaclang/tests/fixtures/async_function.jac +0 -0
  272. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/backward_edge_visit.jac +0 -0
  273. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/baddy.jac +0 -0
  274. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/baddy.test.jac +0 -0
  275. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/bar.jac +0 -0
  276. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/base_class1.jac +0 -0
  277. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/base_class2.jac +0 -0
  278. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/base_class_complex_expr.jac +0 -0
  279. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/blankwithentry.jac +0 -0
  280. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/builtin_printgraph.jac +0 -0
  281. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/builtin_printgraph_json.jac +0 -0
  282. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/builtin_printgraph_mermaid.jac +0 -0
  283. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/builtins_test.jac +0 -0
  284. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/byllmissue.jac +0 -0
  285. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/chandra_bugs.jac +0 -0
  286. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/chandra_bugs2.jac +0 -0
  287. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/circle_pysolo.py +0 -0
  288. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/cls_method.jac +0 -0
  289. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/concurrency.jac +0 -0
  290. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/connect_traverse_syntax.jac +0 -0
  291. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/dblhello.jac +0 -0
  292. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/decl_defn_param_name.jac +0 -0
  293. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +0 -0
  294. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/deep/mycode.jac +0 -0
  295. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/deep/one_lev_dup_py.py +0 -0
  296. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/deep_convert.jac +0 -0
  297. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/deep_convo.py +0 -0
  298. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/deep_import.jac +0 -0
  299. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/deep_import_interp.jac +0 -0
  300. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/deep_import_mods.jac +0 -0
  301. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/deferred_field.jac +0 -0
  302. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/del_clean.jac +0 -0
  303. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/disconn.jac +0 -0
  304. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/edge_ability.jac +0 -0
  305. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/edge_node_walk.jac +0 -0
  306. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/edge_ops.jac +0 -0
  307. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/edges_walk.jac +0 -0
  308. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/edgetypeissue.jac +0 -0
  309. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/entry_exit.jac +0 -0
  310. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/enum_inside_archtype.jac +0 -0
  311. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/err.impl.jac +0 -0
  312. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/err.jac +0 -0
  313. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/err2.jac +0 -0
  314. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/err_runtime.jac +0 -0
  315. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/expr_type.jac +0 -0
  316. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/game1.jac +0 -0
  317. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/gendot_bubble_sort.jac +0 -0
  318. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/glob_multivar_statement.jac +0 -0
  319. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/guess_game.jac +0 -0
  320. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/has_goodness.jac +0 -0
  321. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/hash_init_check.jac +0 -0
  322. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/hashcheck.jac +0 -0
  323. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/hashcheck_dup.jac +0 -0
  324. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/hello.jac +0 -0
  325. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/hello_nc.jac +0 -0
  326. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/here_usage_error.jac +0 -0
  327. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/here_visitor_usage.jac +0 -0
  328. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/ignore.jac +0 -0
  329. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/ignore_dup.jac +0 -0
  330. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/impl_match_confused.impl.jac +0 -0
  331. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/impl_match_confused.jac +0 -0
  332. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/import.jac +0 -0
  333. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/import_all.jac +0 -0
  334. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/import_all_py.py +0 -0
  335. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/index_slice.jac +0 -0
  336. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/inherit_check.jac +0 -0
  337. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/jacsamp.jac +0 -0
  338. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/jactest_imported.jac +0 -0
  339. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/jactest_main.jac +0 -0
  340. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/lambda.jac +0 -0
  341. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/match_multi_ex.jac +0 -0
  342. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/maxfail_run_test.jac +0 -0
  343. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/multi_dim_array_split.jac +0 -0
  344. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/needs_import.jac +0 -0
  345. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/needs_import_1.jac +0 -0
  346. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/needs_import_2.jac +0 -0
  347. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/needs_import_3.jac +0 -0
  348. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/needs_import_dup.jac +0 -0
  349. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/node_del.jac +0 -0
  350. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/nosigself.jac +0 -0
  351. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/objref.jac +0 -0
  352. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/py2jac.py +0 -0
  353. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/py_bool_expr.py +0 -0
  354. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/py_namedexpr.py +0 -0
  355. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/pyfunc.py +0 -0
  356. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/pyfunc_1.py +0 -0
  357. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/pyfunc_2.py +0 -0
  358. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/pyfunc_3.py +0 -0
  359. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/pygame_mock/__init__.py +0 -0
  360. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/pygame_mock/color.py +0 -0
  361. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/pygame_mock/constants.py +0 -0
  362. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/pygame_mock/display.py +0 -0
  363. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/pygame_mock/inner/__init__.py +0 -0
  364. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/pygame_mock/inner/iner_mod.py +0 -0
  365. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/random_check.jac +0 -0
  366. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/raw_byte_string.jac +0 -0
  367. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/refs_target.jac +0 -0
  368. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/run_test.jac +0 -0
  369. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/simple_archs.jac +0 -0
  370. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/simple_walk.jac +0 -0
  371. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/slice_vals.jac +0 -0
  372. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/sub_abil_sep.jac +0 -0
  373. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/sub_abil_sep_multilev.jac +0 -0
  374. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/test_py.py +0 -0
  375. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/trailing_comma.jac +0 -0
  376. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/try_finally.jac +0 -0
  377. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/tupleunpack.jac +0 -0
  378. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/tuplytuples.jac +0 -0
  379. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/type_info.jac +0 -0
  380. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/uninitialized_hasvars.jac +0 -0
  381. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/visit_order.jac +0 -0
  382. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/visit_sequence.jac +0 -0
  383. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/visit_traversal.jac +0 -0
  384. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/walker_override.jac +0 -0
  385. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/fixtures/with_context.jac +0 -0
  386. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/foo/__init__.jac +0 -0
  387. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/test_bugs.py +0 -0
  388. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/test_cli.py +0 -0
  389. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/test_man_code.py +0 -0
  390. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/tests/test_settings.py +0 -0
  391. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/utils/__init__.py +0 -0
  392. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/utils/helpers.py +0 -0
  393. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/utils/log.py +0 -0
  394. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/utils/test.py +0 -0
  395. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/utils/tests/__init__.py +0 -0
  396. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/utils/tests/test_lang_tools.py +0 -0
  397. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/utils/treeprinter.py +0 -0
  398. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/__init__.py +0 -0
  399. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/__init__.py +0 -0
  400. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/__init__.pyi +0 -0
  401. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/_cmp.py +0 -0
  402. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/_cmp.pyi +0 -0
  403. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/_compat.py +0 -0
  404. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/_config.py +0 -0
  405. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/_funcs.py +0 -0
  406. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/_make.py +0 -0
  407. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/_next_gen.py +0 -0
  408. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/_typing_compat.pyi +0 -0
  409. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/_version_info.py +0 -0
  410. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/_version_info.pyi +0 -0
  411. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/converters.py +0 -0
  412. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/converters.pyi +0 -0
  413. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/exceptions.py +0 -0
  414. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/exceptions.pyi +0 -0
  415. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/filters.py +0 -0
  416. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/filters.pyi +0 -0
  417. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/py.typed +0 -0
  418. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/setters.py +0 -0
  419. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/setters.pyi +0 -0
  420. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/validators.py +0 -0
  421. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attr/validators.pyi +0 -0
  422. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs/__init__.py +0 -0
  423. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs/__init__.pyi +0 -0
  424. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs/converters.py +0 -0
  425. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs/exceptions.py +0 -0
  426. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs/filters.py +0 -0
  427. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs/py.typed +0 -0
  428. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs/setters.py +0 -0
  429. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs/validators.py +0 -0
  430. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs-25.3.0.dist-info/INSTALLER +0 -0
  431. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs-25.3.0.dist-info/METADATA +0 -0
  432. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs-25.3.0.dist-info/RECORD +0 -0
  433. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs-25.3.0.dist-info/REQUESTED +0 -0
  434. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs-25.3.0.dist-info/WHEEL +0 -0
  435. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/attrs-25.3.0.dist-info/licenses/LICENSE +0 -0
  436. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/bin/dmypy +0 -0
  437. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/bin/mypy +0 -0
  438. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/bin/mypyc +0 -0
  439. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/bin/stubgen +0 -0
  440. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/bin/stubtest +0 -0
  441. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/__init__.py +0 -0
  442. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/converters.py +0 -0
  443. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/disambiguators.py +0 -0
  444. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/dispatch.py +0 -0
  445. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/errors.py +0 -0
  446. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/gen.py +0 -0
  447. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/preconf/__init__.py +0 -0
  448. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/preconf/bson.py +0 -0
  449. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/preconf/json.py +0 -0
  450. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/preconf/msgpack.py +0 -0
  451. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/preconf/orjson.py +0 -0
  452. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/preconf/pyyaml.py +0 -0
  453. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/preconf/tomlkit.py +0 -0
  454. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/preconf/ujson.py +0 -0
  455. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattr/py.typed +0 -0
  456. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/__init__.py +0 -0
  457. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/_compat.py +0 -0
  458. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/_generics.py +0 -0
  459. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/cols.py +0 -0
  460. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/converters.py +0 -0
  461. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/disambiguators.py +0 -0
  462. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/dispatch.py +0 -0
  463. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/errors.py +0 -0
  464. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/fns.py +0 -0
  465. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/gen/__init__.py +0 -0
  466. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/gen/_consts.py +0 -0
  467. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/gen/_generics.py +0 -0
  468. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/gen/_lc.py +0 -0
  469. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/gen/_shared.py +0 -0
  470. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/gen/typeddicts.py +0 -0
  471. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/preconf/__init__.py +0 -0
  472. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/preconf/bson.py +0 -0
  473. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/preconf/cbor2.py +0 -0
  474. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/preconf/json.py +0 -0
  475. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/preconf/msgpack.py +0 -0
  476. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/preconf/msgspec.py +0 -0
  477. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/preconf/orjson.py +0 -0
  478. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/preconf/pyyaml.py +0 -0
  479. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/preconf/tomlkit.py +0 -0
  480. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/preconf/ujson.py +0 -0
  481. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/py.typed +0 -0
  482. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/strategies/__init__.py +0 -0
  483. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/strategies/_class_methods.py +0 -0
  484. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/strategies/_subclasses.py +0 -0
  485. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/strategies/_unions.py +0 -0
  486. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs/v.py +0 -0
  487. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs-24.1.3.dist-info/INSTALLER +0 -0
  488. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs-24.1.3.dist-info/METADATA +0 -0
  489. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs-24.1.3.dist-info/RECORD +0 -0
  490. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs-24.1.3.dist-info/REQUESTED +0 -0
  491. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs-24.1.3.dist-info/WHEEL +0 -0
  492. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/cattrs-24.1.3.dist-info/licenses/LICENSE +0 -0
  493. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/__init__.py +0 -0
  494. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/__pyinstaller/__init__.py +0 -0
  495. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/__pyinstaller/hook-lark.py +0 -0
  496. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/ast_utils.py +0 -0
  497. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/common.py +0 -0
  498. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/exceptions.py +0 -0
  499. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/grammar.py +0 -0
  500. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/grammars/__init__.py +0 -0
  501. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/grammars/common.lark +0 -0
  502. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/grammars/lark.lark +0 -0
  503. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/grammars/python.lark +0 -0
  504. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/grammars/unicode.lark +0 -0
  505. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/indenter.py +0 -0
  506. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/lark.py +0 -0
  507. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/lexer.py +0 -0
  508. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/load_grammar.py +0 -0
  509. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/parse_tree_builder.py +0 -0
  510. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/parser_frontends.py +0 -0
  511. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/parsers/__init__.py +0 -0
  512. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/parsers/cyk.py +0 -0
  513. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/parsers/earley.py +0 -0
  514. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/parsers/earley_common.py +0 -0
  515. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/parsers/earley_forest.py +0 -0
  516. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/parsers/grammar_analysis.py +0 -0
  517. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/parsers/lalr_analysis.py +0 -0
  518. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/parsers/lalr_interactive_parser.py +0 -0
  519. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/parsers/lalr_parser.py +0 -0
  520. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/parsers/lalr_parser_state.py +0 -0
  521. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/parsers/xearley.py +0 -0
  522. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/py.typed +0 -0
  523. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/reconstruct.py +0 -0
  524. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/tools/__init__.py +0 -0
  525. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/tools/nearley.py +0 -0
  526. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/tools/serialize.py +0 -0
  527. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/tools/standalone.py +0 -0
  528. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/tree.py +0 -0
  529. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/tree_matcher.py +0 -0
  530. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/tree_templates.py +0 -0
  531. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/utils.py +0 -0
  532. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark/visitors.py +0 -0
  533. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark-1.2.2.dist-info/INSTALLER +0 -0
  534. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark-1.2.2.dist-info/METADATA +0 -0
  535. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark-1.2.2.dist-info/RECORD +0 -0
  536. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark-1.2.2.dist-info/REQUESTED +0 -0
  537. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark-1.2.2.dist-info/WHEEL +0 -0
  538. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark-1.2.2.dist-info/entry_points.txt +0 -0
  539. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark-1.2.2.dist-info/licenses/LICENSE +0 -0
  540. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lark-1.2.2.dist-info/top_level.txt +0 -0
  541. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lsprotocol/__init__.py +0 -0
  542. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lsprotocol/_hooks.py +0 -0
  543. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lsprotocol/converters.py +0 -0
  544. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lsprotocol/py.typed +0 -0
  545. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lsprotocol/types.py +0 -0
  546. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lsprotocol/validators.py +0 -0
  547. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lsprotocol-2023.0.1.dist-info/INSTALLER +0 -0
  548. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lsprotocol-2023.0.1.dist-info/METADATA +0 -0
  549. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lsprotocol-2023.0.1.dist-info/RECORD +0 -0
  550. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lsprotocol-2023.0.1.dist-info/REQUESTED +0 -0
  551. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lsprotocol-2023.0.1.dist-info/WHEEL +0 -0
  552. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/lsprotocol-2023.0.1.dist-info/licenses/LICENSE +0 -0
  553. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy/__init__.py +0 -0
  554. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy/_callers.py +0 -0
  555. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy/_hooks.py +0 -0
  556. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy/_manager.py +0 -0
  557. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy/_result.py +0 -0
  558. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy/_tracing.py +0 -0
  559. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy/_version.py +0 -0
  560. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy/_warnings.py +0 -0
  561. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy/py.typed +0 -0
  562. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy-1.5.0.dist-info/INSTALLER +0 -0
  563. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy-1.5.0.dist-info/METADATA +0 -0
  564. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy-1.5.0.dist-info/RECORD +0 -0
  565. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy-1.5.0.dist-info/REQUESTED +0 -0
  566. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy-1.5.0.dist-info/WHEEL +0 -0
  567. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy-1.5.0.dist-info/licenses/LICENSE +0 -0
  568. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pluggy-1.5.0.dist-info/top_level.txt +0 -0
  569. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/__init__.py +0 -0
  570. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/capabilities.py +0 -0
  571. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/client.py +0 -0
  572. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/constants.py +0 -0
  573. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/exceptions.py +0 -0
  574. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/feature_manager.py +0 -0
  575. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/lsp/__init__.py +0 -0
  576. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/lsp/client.py +0 -0
  577. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/progress.py +0 -0
  578. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/protocol/__init__.py +0 -0
  579. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/protocol/json_rpc.py +0 -0
  580. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/protocol/language_server.py +0 -0
  581. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/protocol/lsp_meta.py +0 -0
  582. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/py.typed +0 -0
  583. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/server.py +0 -0
  584. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/uris.py +0 -0
  585. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/workspace/__init__.py +0 -0
  586. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/workspace/position_codec.py +0 -0
  587. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/workspace/text_document.py +0 -0
  588. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls/workspace/workspace.py +0 -0
  589. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls-1.3.1.dist-info/INSTALLER +0 -0
  590. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls-1.3.1.dist-info/LICENSE.txt +0 -0
  591. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls-1.3.1.dist-info/METADATA +0 -0
  592. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls-1.3.1.dist-info/RECORD +0 -0
  593. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls-1.3.1.dist-info/REQUESTED +0 -0
  594. {jaclang-0.8.1 → jaclang-0.8.3}/jaclang/vendor/pygls-1.3.1.dist-info/WHEEL +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: jaclang
3
- Version: 0.8.1
3
+ Version: 0.8.3
4
4
  Summary: Jac is a unique and powerful programming language that runs on top of Python, offering an unprecedented level of intelligence and intuitive understanding.
5
5
  License: MIT
6
6
  Keywords: jac,jaclang,jaseci,python,programming-language,machine-learning,artificial-intelligence
@@ -1,14 +1,20 @@
1
1
  """The Jac Programming Language."""
2
2
 
3
+ import sys
4
+
3
5
  from jaclang.runtimelib.machine import (
4
6
  JacMachine,
5
7
  JacMachineImpl,
6
8
  JacMachineInterface,
7
9
  plugin_manager,
8
10
  )
11
+ from jaclang.runtimelib.meta_importer import JacMetaImporter
9
12
 
10
13
 
11
14
  plugin_manager.register(JacMachineImpl)
12
15
  plugin_manager.load_setuptools_entrypoints("jac")
13
16
 
17
+ if not any(isinstance(f, JacMetaImporter) for f in sys.meta_path):
18
+ sys.meta_path.insert(0, JacMetaImporter())
19
+
14
20
  __all__ = ["JacMachineInterface", "JacMachine"]
@@ -12,20 +12,20 @@ from typing import Optional
12
12
 
13
13
  import jaclang.compiler.unitree as uni
14
14
  from jaclang.cli.cmdreg import CommandShell, cmd_registry
15
- from jaclang.compiler.passes.main import CompilerMode as CMode, PyastBuildPass
15
+ from jaclang.compiler.passes.main import PyastBuildPass
16
16
  from jaclang.compiler.program import JacProgram
17
17
  from jaclang.runtimelib.builtin import printgraph
18
18
  from jaclang.runtimelib.constructs import WalkerArchetype
19
19
  from jaclang.runtimelib.machine import (
20
- JacMachine,
21
- JacMachineInterface as Jac,
22
- call_jac_func_with_machine,
20
+ ExecutionContext,
21
+ JacMachine as Jac,
22
+ JacMachineInterface as JacInterface,
23
23
  )
24
24
  from jaclang.utils.helpers import debugger as db
25
25
  from jaclang.utils.lang_tools import AstTool
26
26
 
27
27
 
28
- Jac.create_cmd()
28
+ JacInterface.create_cmd()
29
29
  Jac.setup()
30
30
 
31
31
 
@@ -86,7 +86,7 @@ def format(path: str, outfile: str = "", to_screen: bool = False) -> None:
86
86
 
87
87
  def proc_file_sess(
88
88
  filename: str, session: str, root: Optional[str] = None
89
- ) -> tuple[str, str, JacMachine]:
89
+ ) -> tuple[str, str, ExecutionContext]:
90
90
  """Create JacMachine and return the base path, module name, and machine state."""
91
91
  if session == "":
92
92
  session = (
@@ -99,7 +99,8 @@ def proc_file_sess(
99
99
  base, mod = os.path.split(filename)
100
100
  base = base if base else "./"
101
101
  mod = mod[:-4]
102
- mach = JacMachine(base, session=session, root=root)
102
+ mach = ExecutionContext(session=session, root=root)
103
+ Jac.set_context(mach)
103
104
  return base, mod, mach
104
105
 
105
106
 
@@ -129,11 +130,11 @@ def run(
129
130
  # if no session specified, check if it was defined when starting the command shell
130
131
  # otherwise default to jaclang.session
131
132
  base, mod, mach = proc_file_sess(filename, session)
133
+ Jac.set_base_path(base)
132
134
 
133
135
  if filename.endswith(".jac"):
134
136
  try:
135
137
  Jac.jac_import(
136
- mach=mach,
137
138
  target=mod,
138
139
  base_path=base,
139
140
  override_name="__main__" if main else None,
@@ -143,9 +144,8 @@ def run(
143
144
  elif filename.endswith(".jir"):
144
145
  try:
145
146
  with open(filename, "rb") as f:
146
- Jac.attach_program(mach, pickle.load(f))
147
+ Jac.attach_program(pickle.load(f))
147
148
  Jac.jac_import(
148
- mach=mach,
149
149
  target=mod,
150
150
  base_path=base,
151
151
  override_name="__main__" if main else None,
@@ -179,19 +179,14 @@ def get_object(filename: str, id: str, session: str = "", main: bool = True) ->
179
179
 
180
180
  if filename.endswith(".jac"):
181
181
  Jac.jac_import(
182
- mach=mach,
183
182
  target=mod,
184
183
  base_path=base,
185
184
  override_name="__main__" if main else None,
186
185
  )
187
186
  elif filename.endswith(".jir"):
188
187
  with open(filename, "rb") as f:
189
- Jac.attach_program(
190
- mach,
191
- pickle.load(f),
192
- )
188
+ Jac.attach_program(pickle.load(f))
193
189
  Jac.jac_import(
194
- mach=mach,
195
190
  target=mod,
196
191
  base_path=base,
197
192
  override_name="__main__" if main else None,
@@ -201,12 +196,11 @@ def get_object(filename: str, id: str, session: str = "", main: bool = True) ->
201
196
  raise ValueError("Not a valid file!\nOnly supports `.jac` and `.jir`")
202
197
 
203
198
  data = {}
204
- obj = call_jac_func_with_machine(mach, Jac.get_object, id)
199
+ obj = Jac.get_object(id)
205
200
  if obj:
206
201
  data = obj.__jac__.__getstate__()
207
202
  else:
208
203
  print(f"Object with id {id} not found.", file=sys.stderr)
209
-
210
204
  mach.close()
211
205
  return data
212
206
 
@@ -227,10 +221,7 @@ def build(filename: str) -> None:
227
221
  jac build myprogram.jac --no-typecheck
228
222
  """
229
223
  if filename.endswith(".jac"):
230
- (out := JacProgram()).compile(
231
- file_path=filename,
232
- mode=CMode.COMPILE,
233
- )
224
+ (out := JacProgram()).compile(file_path=filename)
234
225
  errs = len(out.errors_had)
235
226
  warnings = len(out.warnings_had)
236
227
  print(f"Errors: {errs}, Warnings: {warnings}")
@@ -256,10 +247,7 @@ def check(filename: str, print_errs: bool = True) -> None:
256
247
  jac check myprogram.jac --no-print_errs
257
248
  """
258
249
  if filename.endswith(".jac"):
259
- (prog := JacProgram()).compile(
260
- file_path=filename,
261
- mode=CMode.TYPECHECK,
262
- )
250
+ (prog := JacProgram()).compile(file_path=filename)
263
251
 
264
252
  errs = len(prog.errors_had)
265
253
  warnings = len(prog.warnings_had)
@@ -284,13 +272,9 @@ def lsp() -> None:
284
272
  Examples:
285
273
  jac lsp
286
274
  """
287
- from jaclang import JacMachineInterface as _
275
+ from jaclang.langserve.server import run_lang_server
288
276
 
289
- run_lang_server_tuple = _.py_jac_import(
290
- "...jaclang.langserve.server", __file__, items={"run_lang_server": None}
291
- )
292
- run_lang_server = run_lang_server_tuple[0]
293
- run_lang_server() # type: ignore
277
+ run_lang_server()
294
278
 
295
279
 
296
280
  @cmd_registry.register
@@ -326,19 +310,14 @@ def enter(
326
310
 
327
311
  if filename.endswith(".jac"):
328
312
  ret_module = Jac.jac_import(
329
- mach=mach,
330
313
  target=mod,
331
314
  base_path=base,
332
315
  override_name="__main__" if main else None,
333
316
  )
334
317
  elif filename.endswith(".jir"):
335
318
  with open(filename, "rb") as f:
336
- Jac.attach_program(
337
- mach,
338
- pickle.load(f),
339
- )
319
+ Jac.attach_program(pickle.load(f))
340
320
  ret_module = Jac.jac_import(
341
- mach=mach,
342
321
  target=mod,
343
322
  base_path=base,
344
323
  override_name="__main__" if main else None,
@@ -355,11 +334,10 @@ def enter(
355
334
  archetype = getattr(loaded_mod, entrypoint)(*args)
356
335
 
357
336
  mach.set_entry_node(node)
358
- if isinstance(archetype, WalkerArchetype) and call_jac_func_with_machine(
359
- mach, Jac.check_read_access, mach.entry_node
337
+ if isinstance(archetype, WalkerArchetype) and Jac.check_read_access(
338
+ mach.entry_node
360
339
  ):
361
340
  Jac.spawn(mach.entry_node.archetype, archetype)
362
-
363
341
  mach.close()
364
342
 
365
343
 
@@ -397,10 +375,7 @@ def test(
397
375
  jac test --xit # Stop on first failure
398
376
  jac test --verbose # Show detailed output
399
377
  """
400
- mach = JacMachine()
401
-
402
378
  failcount = Jac.run_test(
403
- mach=mach,
404
379
  filepath=filepath,
405
380
  func_name=("test_" + test_name) if test_name else None,
406
381
  filter=filter,
@@ -410,8 +385,6 @@ def test(
410
385
  verbose=verbose,
411
386
  )
412
387
 
413
- mach.close()
414
-
415
388
  if failcount:
416
389
  raise SystemExit(f"Tests failed: {failcount}")
417
390
 
@@ -528,10 +501,8 @@ def dot(
528
501
  base, mod, jac_machine = proc_file_sess(filename, session)
529
502
 
530
503
  if filename.endswith(".jac"):
531
- Jac.jac_import(
532
- mach=jac_machine, target=mod, base_path=base, override_name="__main__"
533
- )
534
- module = jac_machine.loaded_modules.get("__main__")
504
+ Jac.jac_import(target=mod, base_path=base, override_name="__main__")
505
+ module = Jac.loaded_modules.get("__main__")
535
506
  globals().update(vars(module))
536
507
  try:
537
508
  node = globals().get(initial, eval(initial)) if initial else None
@@ -5,7 +5,6 @@ from __future__ import annotations
5
5
  import ast as ast3
6
6
  from typing import Optional, TYPE_CHECKING
7
7
 
8
-
9
8
  if TYPE_CHECKING:
10
9
  from jaclang.compiler.unitree import Source, Token
11
10
 
@@ -19,6 +19,7 @@ class SymbolType(Enum):
19
19
  TEST = "test" # LSP: Function
20
20
  TYPE = "type" # LSP: TypeParameter
21
21
  IMPL = "impl" # LSP: Interface or Property
22
+ SEM = "sem" # LSP: Property
22
23
  HAS_VAR = "field" # LSP: Field
23
24
  METHOD = "method" # LSP: Method
24
25
  CONSTRUCTOR = "constructor" # LSP: Constructor
@@ -290,6 +291,7 @@ class Tokens(str, Enum):
290
291
  KW_ROOT = "KW_ROOT"
291
292
  KW_POST_INIT = "KW_POST_INIT"
292
293
  KW_IMPL = "KW_IMPL"
294
+ KW_SEM = "KW_SEM"
293
295
  TYPE_OP = "TYPE_OP"
294
296
  A_PIPE_FWD = "A_PIPE_FWD"
295
297
  A_PIPE_BKWD = "A_PIPE_BKWD"
@@ -8,6 +8,7 @@ tl_stmt_with_doc: STRING toplevel_stmt
8
8
  toplevel_stmt: import_stmt
9
9
  | archetype
10
10
  | impl_def
11
+ | sem_def
11
12
  | ability
12
13
  | global_var
13
14
  | free_code
@@ -62,7 +63,7 @@ ability: decorators? KW_ASYNC? (ability_decl | function_decl)
62
63
  function_decl: KW_OVERRIDE? KW_STATIC? KW_DEF access_tag? named_ref func_decl? (block_tail | KW_ABSTRACT? SEMI)
63
64
  ability_decl: KW_OVERRIDE? KW_STATIC? KW_CAN access_tag? named_ref event_clause (block_tail | KW_ABSTRACT? SEMI)
64
65
  block_tail: code_block | KW_BY atomic_call SEMI
65
- event_clause: KW_WITH expression? (KW_EXIT | KW_ENTRY) (RETURN_HINT expression)?
66
+ event_clause: KW_WITH expression? (KW_EXIT | KW_ENTRY)
66
67
 
67
68
  func_decl: (LPAREN func_decl_params? RPAREN) (RETURN_HINT expression)?
68
69
  | (RETURN_HINT expression)
@@ -75,6 +76,9 @@ impl_def: decorators? KW_IMPL dotted_name impl_spec? impl_tail
75
76
  impl_spec: inherited_archs | func_decl | event_clause
76
77
  impl_tail: enum_block | block_tail
77
78
 
79
+ // [Heading]: Semstrings.
80
+ sem_def: KW_SEM dotted_name EQ STRING SEMI
81
+
78
82
  // [Heading]: Global variables.
79
83
  global_var: (KW_LET | KW_GLOBAL) access_tag? assignment_list SEMI
80
84
  assignment_list: (assignment_list COMMA)? (assignment | named_ref)
@@ -190,7 +194,7 @@ global_ref: GLOBAL_OP name_list
190
194
  nonlocal_ref: NONLOCAL_OP name_list
191
195
  name_list: (named_ref COMMA)* named_ref
192
196
 
193
- // [Heading]: Data spatial typed context blocks.
197
+ // [Heading]: Object spatial typed context blocks.
194
198
  typed_ctx_block: RETURN_HINT expression code_block
195
199
 
196
200
  // [Heading]: Return statements.
@@ -217,7 +221,7 @@ report_stmt: KW_REPORT expression
217
221
  // [Heading]: Control statements.
218
222
  ctrl_stmt: KW_SKIP | KW_BREAK | KW_CONTINUE
219
223
 
220
- // [Heading]: Data spatial Walker statements.
224
+ // [Heading]: Object spatial Walker statements.
221
225
  spatial_stmt: visit_stmt | ignore_stmt | disenage_stmt
222
226
 
223
227
  // [Heading]: Visit statements.
@@ -304,10 +308,10 @@ connect: (connect (connect_op | disconnect_op))? atomic_pipe
304
308
  atomic_pipe: (atomic_pipe A_PIPE_FWD)? atomic_pipe_back
305
309
 
306
310
  // [Heading]: Atomic pipe back expressions.
307
- atomic_pipe_back: (atomic_pipe_back A_PIPE_BKWD)? ds_spawn
311
+ atomic_pipe_back: (atomic_pipe_back A_PIPE_BKWD)? os_spawn
308
312
 
309
- // [Heading]: Data spatial spawn expressions.
310
- ds_spawn: (ds_spawn KW_SPAWN)? unpack
313
+ // [Heading]: Object spatial spawn expressions.
314
+ os_spawn: (os_spawn KW_SPAWN)? unpack
311
315
 
312
316
  // [Heading]: Unpack expressions.
313
317
  unpack: STAR_MUL? ref
@@ -315,7 +319,7 @@ unpack: STAR_MUL? ref
315
319
  // [Heading]: References (unused).
316
320
  ref: BW_AND? pipe_call
317
321
 
318
- // [Heading]: Data spatial calls.
322
+ // [Heading]: Object spatial calls.
319
323
  pipe_call: (PIPE_FWD | A_PIPE_FWD | KW_SPAWN | KW_AWAIT)? atomic_chain
320
324
 
321
325
  // [Heading]: Subscripted and dotted expressions.
@@ -330,7 +334,9 @@ index_slice: LSQUARE
330
334
  | list_val
331
335
 
332
336
  // [Heading]: Function calls.
333
- atomic_call: atomic_chain LPAREN param_list? (KW_BY atomic_call)? RPAREN
337
+ atomic_call: atomic_chain LPAREN param_list? by_call? RPAREN by_call?
338
+
339
+ by_call: KW_BY expression
334
340
 
335
341
  param_list: expr_list COMMA kw_expr_list COMMA?
336
342
  | kw_expr_list COMMA?
@@ -398,7 +404,7 @@ tuple_list: expression COMMA expr_list COMMA kw_expr_list COMMA?
398
404
  kw_expr_list: (kw_expr_list COMMA)? kw_expr
399
405
  kw_expr: named_ref EQ expression | STAR_POW expression
400
406
 
401
- // [Heading]: Data Spatial References.
407
+ // [Heading]: Object-Spatial References.
402
408
  edge_ref_chain: LSQUARE (KW_NODE| KW_EDGE)? expression? (edge_op_ref (filter_compr | expression)?)+ RSQUARE
403
409
  edge_op_ref: edge_any | edge_from | edge_to
404
410
  edge_to: ARROW_R | ARROW_R_P1 typed_filter_compare_list ARROW_R_P2
@@ -519,6 +525,7 @@ KW_FLOW: "flow"
519
525
  KW_WAIT: "wait"
520
526
  KW_TEST: "test"
521
527
  KW_IMPL: "impl"
528
+ KW_SEM: "sem"
522
529
  KW_ASSERT: "assert"
523
530
  KW_CHECK: "check"
524
531
  KW_IF: "if"
@@ -589,7 +596,7 @@ KWESC_NAME: /<>[a-zA-Z_][a-zA-Z0-9_]*/
589
596
  NAME: /[a-zA-Z_][a-zA-Z0-9_]*/
590
597
 
591
598
 
592
- // Data Spatial Operators -------------------------------------------------- //
599
+ // Object-Spatial Operators -------------------------------------------------- //
593
600
 
594
601
  ARROW_BI: "<-->"
595
602
  ARROW_L: "<--"