Remove Dead Code
I'm making a new issue about this, since #387 (closed) was automatically closed when the corresponding branch --- which removed some, but not all dead code --- was merged; issue #387 (closed) was a bit old anyway. Now that I am more familiar with the project and have a bit of time to deal with this, I feel like this is a good time to get my hands a little more dirty with it.
Ideally, I'd like for weeder to not turn up any symbols. This means going through each definition spotted by weeder (of which there are a lot!), and for each, determine whether:
- It should be kept for some reason (e.g. it is useful in the REPL, as
runCmdReplEasy
is). If so, whitelist it by adding it to theweeder.toml
file with a comment indicating why it is whitelisted for future developers to make an informed decision should they decide to go through a similar process. - Or it is obsolete. If so, delete it.
Once that's done, weeder could even potentially be added to the CI pipeline?
Tangentially, this might also be an opportunity to make all exports explicit, and all imports either explicit or qualified, which is generally good practice.