[GHC] #7730: :info and polykinds
GHC
ghc-devs at haskell.org
Mon Apr 28 12:28:48 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
--------------------------------------------+------------------------------
Changes (by simonpj):
* cc: goldfire (added)
Comment:
Re (2) I'm not too bothered. What you see is what you get. That is, the
user wrote `{-# UNPACK #-}` but it didn't happen, so it doesn't show up in
the `IfaceSyn`. So I'd just leave it as it is. In your example, I guess
you only compiled `STest` without `-O`, else you would see the UNPACK?
Re (1) this is actually very much the same kind of issue as with
`IfaceFunTy` vs `IfaceDictFunTy`; we don't have quite enough info in the
`IfaceType`. I'm adding Richard to the cc list because he is busy
unifying types and kinds, and separating the issue of source-code
visiblity.
To solve (1) we'd need to add a flag saying "I a kind" to each argument of
an `IfaceTyConApp`. That's quite painful, `IfaceTyConApp` is very common.
It might be better to say:
{{{
data IfaceType = .... | IfaceTyConApp IfaceTcArgs | ...
data IfaceTcArgs
= ITC_Nil
| ITC_Type IfaceType IfaceTcArgs
| ITC_Kind IfaceKind IfaceTcArgs
}}}
That would be be simple and would hardly affect in interface files.
But I'd like to see what Richard has to say first.
Simon
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7730#comment:28>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list