blob: b967e247b67a588a3db50ec9c2f1f2d822b5bb11 (
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
29
30
31
32
33
34
|
{-# Language DatatypeContexts #-}
{-# Language ExistentialQuantification #-}
{-# LAnguage GADTs #-}
{-# LAnguage KindSignatures #-}
data Foo = A
| B
| C
-- | data_or_newtype capi_ctype tycl_hdr constrs deriving
data {-# Ctype "Foo" "bar" #-} F1 = F1
data {-# Ctype "baz" #-} Eq a => F2 a = F2 a
data (Eq a,Ord a) => F3 a = F3 Int a
data F4 a = forall x y. (Eq x,Eq y) => F4 a x y
| forall x y. (Eq x,Eq y) => F4b a x y
data G1 a :: * where
G1A, G1B :: Int -> G1 a
G1C :: Double -> G1 a
data G2 a :: * where
G2A :: { g2a :: a, g2b :: Int } -> G2 a
G2C :: Double -> G2 a
data (Eq a,Ord a) => G3 a = G3
{ g3A :: Int
, g3B :: Bool
, g3a :: a
} deriving (Eq,Ord)
|