Implement a better dependency solver
da-h opened this issue · 1 comments
da-h commented
The dependency-solving mechanism is quite dated.
This could be done with that regard:
- enable lambda based dependency-solving (currently, lambda expressions are basically just ignored)
- build a graph of dependencies
- let lambda expressions get the local
mf.state
variable for parsing. currently lambda expressions need to work with absolute variables to make them work - implement a graph-based dependency solver instead of doing just three passes of variable-settings (that are required currently to include possible lambda expressions)
- write better exceptions whenever i.e. a circular dependency has been found or a dependency has not been resolved
- finally, remove
mf.like
or simplify to just return a lambda expression, as it basically is just the same functionality-wise but with fewer possibilities