blob: 1063b8661dc1f22878ae57f1c93b9cc128f1bde2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
|
{-# LANGUAGE GADTs, RankNTypes, PolyKinds #-}
module T6093 where
-- Polymorphic kind recursion
data R :: forall k. k -> * where
MkR :: R f -> R (f ())
data IOWitness (a :: k) = IOW
data Type :: forall k. k -> * where
SimpleType :: IOWitness a -> Type a
ConstructedType :: Type f -> Type a -> Type (f a)
|