This is a first step for #6593, the changes in DumpPackage are not done here, because a first move was to bring some types closer to cabal, step by step.
This includes 2 major changes :
GhcPkgId is now a wrapper over UnitId
StackUnqualCompName is now a nextype over its cabal counterpart, and generalized wherever we can (instead of Text)
The second change is also a refactoring towards better type safety and documentation. It should also increase overall stack's speed by two aspects : better memory layout with ShortText, and less translation work from cabal.
This is a first step for #6593, the changes in DumpPackage are not done here, because a first move was to bring some types closer to cabal, step by step. This includes 2 major changes :
The second change is also a refactoring towards better type safety and documentation. It should also increase overall stack's speed by two aspects : better memory layout with ShortText, and less translation work from cabal.
Indicative integration tests speed: 1185 ubuntu 951 macos 1491 windows So this corroborates a small speedup (compared to baseline https://github.com/commercialhaskell/stack/pull/6615)