fourmolu-0.2.0.0: data/examples/other/multiline-forall-four-out.hs
{-# LANGUAGE GADTs #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE TypeFamilies #-}
-- Multiline foralls are consistent across all declarations
data D
= forall
( f ::
* -> * -> *
)
(x :: *)
(y :: *).
D (f x y)
data G where
G ::
forall
( f ::
* -> * -> *
)
(x :: *)
(y :: *).
f x y ->
G
f ::
forall
( f ::
* -> * -> *
)
(x :: *)
(y :: *).
f x y ->
()
f = const ()
type family T f x y where
forall
( f ::
* -> * -> *
)
(x :: *)
(y :: *).
T f x y =
f x y
{-# RULES
"r" forall
( f ::
* -> * -> *
)
(x :: *)
(y :: *).
r (a :: f x y) =
()
#-}