da-h/miniflask

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
da-h commented

Implemented with #121, #122, #123, #124, #125 and #126.