Forked from
Glasgow Haskell Compiler / GHC
509 commits behind the upstream repository.

Rodrigo Mesquita
authored
The 'ModuleGraph' abstraction represents the relationship and strucutre of the modules being compiled. This structure is meant to be constructed once at the start of compilation, and never changed again. However, it's exposed interface was confusing and exposed too many footguns which led to inneficient usages of the ModuleGraph. This commit improves significantly the exported interface of ModuleGraph, taking into consideration the recent improvements around reachability queries. Since the ModuleGraph graphs and related structures (HPT, EPS) are performance critical in the sense that somewhat simple mistakes can cause bad leaks and non-linear memory usage, we want to have proper APIs that guide efficient usage. This is a good step in that direction.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Name | Last commit | Last update |
---|---|---|
.. | ||
GHC | ||
Language/Haskell | ||
cbits | ||
jsbits | ||
.hlint.yaml | ||
CodeGen.Platform.h | ||
GHC.hs | ||
LICENSE | ||
Setup.hs | ||
Unique.h | ||
flattening-notes | ||
ghc.cabal.in | ||
profiling-notes |