summaryrefslogtreecommitdiff
path: root/compiler/GHC/Unit/Parser.hs
Commit message (Collapse)AuthorAgeFilesLines
* Refactor ModuleName to L.H.S.Module.Nameromes2022-07-031-2/+2
| | | | | | | | | | | | | | | ModuleName used to live in GHC.Unit.Module.Name. In this commit, the definition of ModuleName and its associated functions are moved to Language.Haskell.Syntax.Module.Name according to the current plan towards making the AST GHC-independent. The instances for ModuleName for Outputable, Uniquable and Binary were moved to the module in which the class is defined because these instances depend on GHC. The instance of Eq for ModuleName is slightly changed to no longer depend on unique explicitly and instead uses FastString's instance of Eq.
* Remove IndefiniteSylvain Henry2021-10-221-7/+2
| | | | We no longer need it after previous IndefUnitId refactoring.
* Refactor UnitId pretty-printingSylvain Henry2020-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we pretty-print a UnitId for the user, we try to map it back to its origin package name, version and component to print "package-version:component" instead of some hash. The UnitId type doesn't carry these information, so we have to look into a UnitState to find them. This is why the Outputable instance of UnitId used `sdocWithDynFlags` in order to access the `unitState` field of DynFlags. This is wrong for several reasons: 1. The DynFlags are accessed when the message is printed, not when it is generated. So we could imagine that the unitState may have changed in-between. Especially if we want to allow unit unloading. 2. We want GHC to support several independent sessions at once, hence several UnitState. The current approach supposes there is a unique UnitState as a UnitId doesn't indicate which UnitState to use. See the Note [Pretty-printing UnitId] in GHC.Unit for the new approach implemented by this patch. One step closer to remove `sdocDynFlags` field from `SDocContext` (#10143). Fix #18124. Also fix some Backpack code to use SDoc instead of String.
* Unit: split and rename modulesSylvain Henry2020-04-301-0/+63
Introduce GHC.Unit.* hierarchy for everything concerning units, packages and modules. Update Haddock submodule