ref: cc577d232d1f8c942e52eab59f1e99dae3964d8f
dir: /tests/PatSynE.hs/
module PatSynE(pattern Sing, pattern Sings, pattern Swap, pattern One, T(..,AA)) where pattern Sing :: a -> [a] pattern Sing a = [a] pattern Sings :: a -> [a] -> [a] pattern Sings a as <- as@[a] pattern Swap :: a -> a -> [a] pattern Swap a b = [b, a] pattern One :: (Eq a, Num a) => a pattern One = 1 data T = A deriving (Show) pattern AA :: T pattern AA = A