OMG! 
I still have 7.6.3. It has old Typeable.

I misunderstood PolyKinds a bit. It looks like k /= **,  k ~ *******...

But we cannot use "CloseKinds" like

data Foo (a::k) = Foo a   -- catch an error "Expected kind `OpenKind', but `a' has kind `k'"


with RankNKinds we could write:
 data Foo (a::**) = Foo a 
 data Bar (a::***) = Bar a

So, now the task is more easy: 
I'm asking for useful examples with "CloseKinds" with ** and higher, and any useful examples for  *** and higher 

cheers, Wvv 

29 Jul 2013 at 14:44:50, José Pedro Magalhães [via Haskell] ([hidden email]) wrote:

Hi,

On Fri, Jul 26, 2013 at 10:42 PM, Wvv <[hidden email]> wrote:
First useful use is in Typeable.
In GHC 7.8
class Typeable (a::k) where ... <<==>> class Typeable (a ::**) where ...

But we can't write
data Foo (a::k)->(a::k)->* ... deriving Typeable

Why not? This works fine in 7.7, as far as I know.


Cheers,
Pedro  


View this message in context: RE: Re: Rank N Kinds
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.