ghc-exactprint-0.3: tests/examples/GADTRecords.hs
{-# LANGUAGE GADTs #-}
module GADTRecords (H1(..)) where
-- | h1
data H1 a b where
C1 :: H1 a b
C2 :: Ord a => [a] -> H1 a a
C3 :: { field :: Int -- ^ hello docs
} -> H1 Int Int
C4 :: { field2 :: a -- ^ hello2 docs
} -> H1 Int a
FwdDataflowAnalysis :: (Eq f, Monad m) => { analysisTop :: f
, analysisMeet :: f -> f -> f
, analysisTransfer :: f -> Instruction -> m f
, analysisFwdEdgeTransfer :: Maybe (f -> Instruction -> m [(BasicBlock, f)])
} -> DataflowAnalysis m f
data GADT :: * -> * where
Ctor :: { gadtField :: A } -> GADT A