2018-06-05 22:26:42 +03:00
|
|
|
data Foo a b c where
|
2018-06-06 02:01:56 +03:00
|
|
|
Baz :: a -> b -> c -> Foo a b c
|
2018-06-07 00:42:25 +03:00
|
|
|
|
|
|
|
data Foo f a where
|
|
|
|
Bar :: { jolo :: Maybe String, runJolo :: f a } -> Foo f a
|
2018-06-07 01:41:57 +03:00
|
|
|
|
|
|
|
data Foo a :: [*] -> * where
|
2018-06-07 02:53:48 +03:00
|
|
|
|
|
|
|
data Number a where
|
|
|
|
Integer :: !Prelude.Integer -> Number Prelude.Integer
|
|
|
|
Ratio :: !Prelude.Rational -> Number Prelude.Rational
|
|
|
|
Decimal :: !Scientific -> Number Scientific
|
2018-06-07 02:58:54 +03:00
|
|
|
|
2018-06-07 03:03:27 +03:00
|
|
|
data Union (r :: [ * -> * ]) (v :: *) where
|
2018-06-07 02:58:54 +03:00
|
|
|
Union :: {-# UNPACK #-} !Int -> t v -> Union r v
|