create a dependency graph for everything
Closed this issue · 2 comments
awestlake87 commented
instead of generating a module in the order it was declared, maybe the AST's job should be to construct a dependency graph. this will be crucial to resolving circular dependencies between modules, functions and data structures because hoist_* is confusing and not nearly flexible enough to handle these situations.
awestlake87 commented
abandoned ast generation in favor of procedural hoisting, dependency generation, and code generation. It's ridiculous how easy it was to implement in comparison to using functions in the ast.
awestlake87 commented
kinda hard to resolve, now that I think about it. continuing in #24