File: bidirectional.hs

package info (click to toggle)
haskell-ormolu 0.7.2.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,528 kB
  • sloc: haskell: 16,077; makefile: 7
file content (20 lines) | stat: -rw-r--r-- 372 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{-# 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)