diff options
author | Alec Theriault <alec.theriault@gmail.com> | 2019-01-24 17:33:52 -0800 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2019-01-30 10:06:32 -0500 |
commit | 5ed48d25decc9dec29659482644b136cff91606e (patch) | |
tree | 2b674e4cbde491346c108a375a636f4b260ab610 /docs | |
parent | 6fa38663d1abb22e988159ce3f80c824de3b243d (diff) | |
download | haskell-5ed48d25decc9dec29659482644b136cff91606e.tar.gz |
Include type info for only some exprs in HIE files
This commit relinquishes some some type information in `.hie` files in
exchange for better performance. See #16233 for more on this.
Using `.hie` files to generate hyperlinked sources is a crucial milestone
towards Hi Haddock (the initiative to move Haddock to work over `.hi`
files and embed docstrings in those). Unfortunately, even after much
optimization on the Haddock side, the `.hie` based solution is still
considerably slower and more memory hungry than the existing implementation
- and the @.hie@ code is to blame.
This changes `.hie` file generation to track type information for only
a limited subset of expressions (specifically, those that might eventually
turn into hyperlinks in the Haddock's hyperlinker backend).
Diffstat (limited to 'docs')
-rw-r--r-- | docs/users_guide/separate_compilation.rst | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/docs/users_guide/separate_compilation.rst b/docs/users_guide/separate_compilation.rst index 338c438eea..8c997f0942 100644 --- a/docs/users_guide/separate_compilation.rst +++ b/docs/users_guide/separate_compilation.rst @@ -588,6 +588,11 @@ The GHC API exposes functions for reading and writing these files. that are being written out. These include testing things properties such as variables not occuring outside of their expected scopes. +The format in which GHC currently stores its typechecked AST, makes it costly +to collect the types for some expressions nodes. For the sake of performance, +GHC currently chooses to skip over these, so not all expression nodes should be +expected to have type information on them. See :ghc-ticket:`16233` for more. + .. _recomp: The recompilation checker |