Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve module interface of stevia_ast #17

Open
Robbepop opened this issue Mar 4, 2019 · 0 comments
Open

Improve module interface of stevia_ast #17

Robbepop opened this issue Mar 4, 2019 · 0 comments
Labels
A-ast Task operating on the stevia_ast crate in isolation. B-enhancement An enhancement or new feature. D-hard A task that is considered to be hard to implement.

Comments

@Robbepop
Copy link
Owner

Robbepop commented Mar 4, 2019

Currently the stevia_ast module interface is extremely polluted because every item is exported on global scope. Only the actual expression items have their own module.

We could need further modules to separate functionality:

  1. type: For types and handling types and errors around typing issues.
  2. transformer: For the AST transformer interfaces and utilities.
  3. checks: For (general purpose) checks of the AST invariants.
  4. iter: For iteration methods and structures over the AST.
  5. utils: We also might need a utilities module for everything that acts as convenience or ... utility.

Also the expr sub module should receive another utils module where all the helper structures like BinaryChildren are located.

@Robbepop Robbepop added B-enhancement An enhancement or new feature. A-ast Task operating on the stevia_ast crate in isolation. D-hard A task that is considered to be hard to implement. labels Mar 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-ast Task operating on the stevia_ast crate in isolation. B-enhancement An enhancement or new feature. D-hard A task that is considered to be hard to implement.
Projects
None yet
Development

No branches or pull requests

1 participant