On Thu, Jun 7, 2012 at 2:37 AM, Simon Peyton-Jones <simo...@microsoft.com> wrote: > Kind polymorphism and promoted kinds is *not* an advertised feature of 7.4.1. > Much code is there, but it doesn't work when you push it. The HEAD does > work. If you are using kind polymorphism or promoted kinds, use HEAD (or a > development snapshot).
I'll keep that in mind if I do anything serious. For now, I've been able to work around the oddity by using my own pairs and lists. If anything, it works better than I expected. > Indeed not_okay compiles fine with HEAD Glad to hear it. > | -----Original Message----- > | From: glasgow-haskell-users-boun...@haskell.org [mailto:glasgow-haskell- > | users-boun...@haskell.org] On Behalf Of David Menendez > | Sent: 06 June 2012 23:50 > | To: José Pedro Magalhães > | Cc: glasgow-haskell-users@haskell.org Mailing List > | Subject: Re: Known problems with promoted tuples and lists in GHC 7.4.1? > | > | No, I'm just running 7.4.1. > | > | Here's a very stripped-down example of what I'm seeing: > | > | {-# LANGUAGE PolyKinds, DataKinds #-} > | > | data Pair a b = P a b > | data Nat = Z | S Nat > | > | data Phantom i = Phantom > | > | okay :: Phantom ('P Int Int) > | okay = Phantom > | > | -- not_okay :: Phantom '(Int, Int) > | -- not_okay = Phantom > | > | Uncommenting that last bit results in this error, > | > | Couldn't match kind `BOX' against `*' > | Kind incompatibility when matching types: > | k0 :: BOX > | (*, *) :: * > | In the expression: Phantom > | In an equation for `not_okay': not_okay = Phantom > | > | Something seems to have gone wrong internally. > | > | > | On Wed, Jun 6, 2012 at 5:43 PM, José Pedro Magalhães <j...@cs.uu.nl> > | wrote: > | > Hi David, > | > > | > Are you using HEAD? If so, and you run into problems, please report > | > them (either here or as bugs in trac). > | > > | > > | > Thanks, > | > Pedro > | > > | > On Wed, Jun 6, 2012 at 9:37 PM, David Menendez <d...@zednenem.com> > | wrote: > | >> > | >> Are there any known issues involving type-level pairs and lists? I've > | >> hit a few baffling type errors that went away when I refactored my > | >> code to use locally-defined pairs and lists instead of those provided > | >> by the prelude. > | >> > | >> More worryingly, I had one function that would stop passing the type > | >> checker if I replaced '[n] with (n ': '[]) in its signature. > | >> > | >> -- > | >> Dave Menendez <d...@zednenem.com> > | >> <http://www.eyrie.org/~zednenem/> > | >> > | >> _______________________________________________ > | >> Glasgow-haskell-users mailing list > | >> Glasgow-haskell-users@haskell.org > | >> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users > | > > | > > | > | > | > | -- > | Dave Menendez <d...@zednenem.com> > | <http://www.eyrie.org/~zednenem/> > | > | _______________________________________________ > | Glasgow-haskell-users mailing list > | Glasgow-haskell-users@haskell.org > | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users > > -- Dave Menendez <d...@zednenem.com> <http://www.eyrie.org/~zednenem/> _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users