... | ... | @@ -44,7 +44,7 @@ The point about known-key things is that GHC knows its *name*, but not its *defi |
|
|
## Initialisation
|
|
|
|
|
|
|
|
|
When reading an interface file, GHC might come across "GHC.Base.Eq", which is the name of the `Eq` class. How does it match up this occurrence in the interface file with `eqClassName` defined in `PrelNames`? Because the global name cache maintained by the renamer is initialised with all the known-key names. This is done by the (hard-to-find) function `HscMain.newHscEnv`:
|
|
|
When reading an interface file, GHC might come across "GHC.Base.Eq", which is the name of the `Eq` class. How does it match up this occurrence in the interface file with `eqClassName` defined in `GHC.Builtin.Names`? Because the global name cache maintained by the renamer is initialised with all the known-key names. This is done by the (hard-to-find) function `Main.newHscEnv`:
|
|
|
|
|
|
```wiki
|
|
|
newHscEnv :: DynFlags -> IO HscEnv
|
... | ... | |