[GHC] #11051: GHCi with +t option set shows type representations
GHC
ghc-devs at haskell.org
Mon Nov 23 16:39:34 UTC 2015
#11051: GHCi with +t option set shows type representations
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner: bgamari
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.11
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Incorrect result | Unknown/Multiple
at runtime | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by bgamari):
As it turns out generic deriving is also bitten by this,
{{{
GHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help
λ> :set +t
λ> :set -XDeriveGeneric
λ> import GHC.Generics
λ> data Hello = Hello Int deriving (Eq, Generic)
abstract C1_0Hello
abstract D1Hello
data Hello = Hello Int
abstract S1_0_0Hello
}}}
For the record, `hscDeclsWithLocation` in `HscMain` is responsible for the
evaluation and generation of `TyThings`. Currently it drops `TyThings`
corresponding to implicit `TyCons`/`Ids` and `DFunIds`,
{{{#!hs
let tcs = filterOut isImplicitTyCon (mg_tcs simpl_mg)
patsyns = mg_patsyns simpl_mg
ext_ids = [ id | id <- bindersOfBinds core_binds
, isExternalName (idName id)
, not (isDFunId id || isImplicitId id) ]
-- We only need to keep around the external bindings
-- (as decided by TidyPgm), since those are the only ones
-- that might later be looked up by name. But we can exclude
-- - DFunIds, which are in 'cls_insts' (see Note
[ic_tythings] in HscTypes
-- - Implicit Ids, which are implicit in tcs
-- c.f. TcRnDriver.runTcInteractive, which reconstructs the
TypeEnv
}}}
This would be one place to drop the bindings covered by this ticket.
However, in order to do this we need to find a way to encode the fact that
the bindings are generated.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11051#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list