fourmolu-0.0.6.0: data/examples/declaration/value/pattern-synonyms/bidirectional.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE NamedFieldPuns #-}
pattern Arrow t1 t2 = App "->" [t1, t2]
pattern Arrow{t1,t2} = App "->" [t1,t2]
pattern Arrow{t1
, t2} = App "->" [t1, t2]
pattern Int =
App "Int" []
pattern Maybe{t} =
App
"Maybe"
[t]
pattern Maybe t =
App
"Maybe"
[t]
pattern a :< b <-
(a , b)