Include type info for only some exprs in HIE files
authorAlec Theriault <alec.theriault@gmail.com>
Fri, 25 Jan 2019 01:33:52 +0000 (17:33 -0800)
committerBen Gamari <ben@smart-cactus.org>
Wed, 20 Feb 2019 19:28:55 +0000 (14:28 -0500)
commit897b3dc801e0bbe1712bbb1361eecc9a62998d25
tree665e266d7c45cdc44c9d397d1fadcfc19d770271
parente1b41ac3322e7b9636a68b969b2412a566ed57a0
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).

(cherry picked from commit 5ed48d25decc9dec29659482644b136cff91606e)
compiler/hieFile/HieAst.hs
docs/users_guide/separate_compilation.rst