-
Notifications
You must be signed in to change notification settings - Fork 248
[ refactor ] Clean up the dependency graph #1435
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
Conversation
Following agda/agda#5231 (comment) I investigated using Agda's `--dependency-graph` option and managed to reorganise the dependency graph quite a bit. We now only need to compile 34 library modules (of which 12 are Builtin modules!) to run hello world.
Nice work! It would be nice to get rid of the musical codata stuff from IO too and cut down the builtin modules. Perhaps in a later PR. Correct me if I am wrong but I think supporting finite strings only would cover quite a lot of use cases. This is roughly all the code that's actually needed to run 'hello world' after all:
Even with this it pulls in more Builtin modules than are ideal. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is really nice. Hopefully we can get better tools to continue analyzing the dependency graph and keep cleaning it up like this. Once this term-from-hell is over, I'm hoping to dig back in to such things.
Yep. I had to start from |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! A plethora of minor comments though...
Following @jmchapman's comment, we are down to 11 modules libraries being compiled when importing IO.Finite!
|
Looks like I'll always manage to forget adding these
PR #1435 changed to `cabal run`, dropping previous cabal invocations the comment referred to. Removing comment, as it is confusing in its present form.
Following agda/agda#5231 (comment) I investigated using Agda's
--dependency-graph
option and managed to reorganise the dependency graph quite a bit.
We now only need to compile 34 library modules (of which 12 are Builtin modules!)
to run hello world.
Note: I still need to document the breaking changes in the CHANGELOG