blob: 987453b9ea20f9213c76a17f1c60c1e532e30720 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
type role Foo1 phantom
type Foo1 :: forall k. k -> *
data Foo1 a where
MkFoo1a :: forall {k} (a :: k). Proxy a -> Int -> Foo1 a
MkFoo1b :: forall {k} (a :: k). {a :: Proxy a, b :: Int} -> Foo1 a
-- Defined at T16030.hs:8:1
type Foo2 :: forall k. k -> *
data family Foo2 a
-- Defined at T16030.hs:12:1
data instance forall k (a :: k). Foo2 a where
MkFoo2a :: forall {k} (a :: k). Proxy a -> Int -> Foo2 a
MkFoo2b :: forall {k} (a :: k). {c :: Proxy a, d :: Int} -> Foo2 a
-- Defined at T16030.hs:13:15
type role Foo1 nominal phantom
type Foo1 :: forall k. k -> *
data Foo1 @k a where
MkFoo1a :: forall {k} (a :: k). Proxy @{k} a -> Int -> Foo1 @k a
MkFoo1b :: forall {k} (a :: k).
{a :: Proxy @{k} a, b :: Int} -> Foo1 @k a
-- Defined at T16030.hs:8:1
type Foo2 :: forall k. k -> *
data family Foo2 @k a
-- Defined at T16030.hs:12:1
data instance forall k (a :: k). Foo2 @k a where
MkFoo2a :: forall {k} (a :: k). Proxy @{k} a -> Int -> Foo2 @k a
MkFoo2b :: forall {k} (a :: k).
{c :: Proxy @{k} a, d :: Int} -> Foo2 @k a
-- Defined at T16030.hs:13:15
|