File: proc-cases.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 (22 lines) | stat: -rw-r--r-- 430 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
22
{-# 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