8b6646d5c9
Previously, when importing `hy` (and any of its sub-packages/modules), Hy source compilation for `hy.core.language` was necessarily triggered. This, in turn, would trigger compilation of the other standard library source files. This commit removes that chain of events and allows the `hy` package to be imported without any Hy compilation. Furthermore, `read` and `read_str` are now implemented in Python and the Hy standard library files now handle their own dependencies explicitly (i.e. they `import` and/or `require` the other standard library files upon which they depend). The latter changes were necessary, because the automatically triggered compilation of `hy.core.language` (and associated standard library files) was serving--implicitly--as a means of producing bytecode in an order that just happened to work for any compilation occurring afterward. This chain of events/dependencies was extremely cryptic, brittle, and difficult to debug, and these changes should help to remedy that. Closes hylang/hy#1697. |
||
---|---|---|
.. | ||
__init__.py | ||
exceptions.py | ||
lexer.py | ||
parser.py |