... | ... | @@ -9,6 +9,14 @@ Implement the [proposal for hierarchical module structure in GHC](module-depende |
|
|
|
|
|
It consists in renaming/moving modules.
|
|
|
|
|
|
|
|
|
Issues:
|
|
|
|
|
|
- some modules in `base` already use useful names (e.g., GHC.Desugar) to export a few builtin utility functions
|
|
|
|
|
|
- for now, I'll try to avoid conflicts (e.g., what would be GHC.Desugar in GHC is GHC.Desugar.Main)
|
|
|
- maybe we should put all GHC extensions in base under GHC.Exts.\*
|
|
|
|
|
|
## Step 2: clearly separate GHC-the-program and GHC's API
|
|
|
|
|
|
- Make the GHC API purer
|
... | ... | @@ -35,4 +43,6 @@ Allow new frontends (using GHC API) to use HTML reporting, etc. |
|
|
### Step 3: clearly separate phases
|
|
|
|
|
|
- split DynFlags to only pass the required info to each pass
|
|
|
|
|
|
- e.g. only the required hooks
|
|
|
- use data types to report phase statistics, intermediate representations, etc. |