stevia
stevia copied to clipboard
Improve module interface of stevia_ast
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:
type: For types and handling types and errors around typing issues.transformer: For the AST transformer interfaces and utilities.checks: For (general purpose) checks of the AST invariants.iter: For iteration methods and structures over the AST.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.