[GHC] #7730: :info and polykinds
GHC
ghc-devs at haskell.org
Wed Apr 16 14:08:55 UTC 2014
#7730: :info and polykinds
--------------------------------------------+------------------------------
Reporter: monoidal | Owner: archblob
Type: bug | Status: new
Priority: normal | Milestone: 7.8.3
Component: Compiler (Type checker) | Version: 7.6.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: None/Unknown | Unknown/Multiple
Test Case: | Difficulty: Unknown
Blocking: | Blocked By:
| Related Tickets: #8776
--------------------------------------------+------------------------------
Comment (by simonpj):
Re recursive flags, promotable, etc, the usual convention is to print that
kind of stuff when `-dppr-debug` is enabled. Let's just do that for now.
I was expecting you to say that a type like `Ord a => a -> Bool` is
printing as `Ord a -> a -> Bool`, which isn't what the user of GHCi
expects. Isn't that happening? To solvet hat I propose that we add a new
constructor `IfaceDFunTy` to `IfaceType`, that behaves exactly like
`IfaceFunTy` except that it prints differently.
Re (2) that's an example of a bump in the road, and one I was expecting.
I think it amounts to saying that the `ifAxiom` field of the `IfaceData`
constructor doesn't have enough information to print nicely.
One possibility is to add that information; it's kind of redundant (in the
same way as `IfaceDFunTy`, but helps printing. But first, why are we
calling `pprTyThing` on a family instance tycon? Does this case show up in
practice? If so, how? I'd expect it to be more common to print a
`IfaceFamInst`.
Simon
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7730#comment:21>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list