File: proc-cases-out.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 (21 lines) | stat: -rw-r--r-- 354 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
21
{-# LANGUAGE Arrows #-}

foo f = proc a -> case a of Left b -> f -< b

bar f g h j =
  proc a -> case a of
    Left
      ( (a, b),
        (c, d)
        ) -> f (a <> c) -< b <> d
    Right
      (Left a) ->
        h -< a
    Right
      (Right b) ->
        j -< b

baz = proc x ->
  (f -< x) `catchA` \case
    Right a -> f -< a
    Left e -> h -< e