hy/tests/resources
Brandon T. Willard 010986e8ca Implement minimal macro namespacing and add tests
This commit adds just enough namespacing to resolve a macro first in the macro's
defining module's namespace (i.e. the module assigned to the `HyASTCompiler`),
then in the namespace/module it's evaluated in.  Namespacing is accomplished by
adding a `module` attribute to `HySymbol`, so that `HyExpression`s can be
checked for this definition namespace attribute and their car symbol resolved
per the above.

As well, a couple tests have been added that cover
- the loading of module-level macros
  - e.g. that only macros defined in the `require`d module are added
- the AST generated for `require`
  - using macros loaded from modules imported via bytecode
- the non-local macro namespace resolution described above
  - a `require`d macro that uses a macro `require` exclusively in its
    module-level namespace
- and that (second-degree `require`d) macros can reference variables within
  their module-level namespaces.

Closes hylang/hy#1268, closes hylang/hy#1650, closes hylang/hy#1416.
2018-11-08 22:57:17 -06:00
..
bin Produce Python AST for require statements and skip self requires 2018-11-08 22:57:17 -06:00
importer Add a test for module docstrings 2018-08-27 01:02:29 -05:00
__init__.py Make all files comply with license-header policy 2017-04-27 14:16:57 -07:00
argparse_ex.hy Update copyright years 2018-01-01 10:38:33 -05:00
fails.hy Fix sys.modules for failed imports in Python 2.7 2018-09-29 20:57:28 -05:00
icmd_test_file.hy Minor test reorganization 2017-02-24 12:47:35 -08:00
macro_with_require.hy Implement minimal macro namespacing and add tests 2018-11-08 22:57:17 -06:00
macros.hy Implement minimal macro namespacing and add tests 2018-11-08 22:57:17 -06:00
module_docstring_example.hy Test module docstrings 2018-03-24 12:34:43 -07:00
no_extension Make cmdline Hy process unknown filetypes as Hy source 2018-09-24 16:27:50 -04:00
pydemo.hy Fix AST handling of docstrings and __future__ ordering 2018-09-11 16:26:21 -04:00
relative_import.hy Use Python cmdline file-relative sys.path 2018-08-26 00:27:21 -05:00
tlib.py Support PEP 328 2018-02-06 23:41:12 -05:00