Implement `-fno-load-initial-targets` flag
Closes #26144 (closed)
We add the new flag -fno-load-initial-targets which doesn't load all Targets
immediately but only computes the module graph for all Targets.
The user can then decide to load modules from that module graph using
the syntax:
ghci> :reload <Mod>
This will load everything in the module graph up to Mod.
The user can return to the initial state by using the builtin target
none to unload all modules.
ghci> :reload none
Is in principle identical to starting a new session with the
-fno-load-initial-targets flag.
The -fno-load-initial-targets flag allows for faster startup time of GHCi when a
user has lots of Targets.
We additionally extend the :reload command to accept multiple
ModuleNames. For example:
ghci> :reload <Mod1> <Mod2>
Loads all modules up to the modules Mod1 and Mod2.
Currently builds on !14427 (closed) for a bug fix. For reviewers: Only review the last commit.