module FRP.BearRiver.Arrow
(
dup
, arr2
, arr3
, arr4
, arr5
)
where
import Control.Arrow (Arrow, arr)
dup :: a -> (a, a)
dup :: forall a. a -> (a, a)
dup a
x = (a
x, a
x)
arr2 :: Arrow a => (b -> c -> d) -> a (b, c) d
arr2 :: forall (a :: * -> * -> *) b c d.
Arrow a =>
(b -> c -> d) -> a (b, c) d
arr2 = ((b, c) -> d) -> a (b, c) d
forall b c. (b -> c) -> a b c
forall (a :: * -> * -> *) b c. Arrow a => (b -> c) -> a b c
arr (((b, c) -> d) -> a (b, c) d)
-> ((b -> c -> d) -> (b, c) -> d) -> (b -> c -> d) -> a (b, c) d
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (b -> c -> d) -> (b, c) -> d
forall a b c. (a -> b -> c) -> (a, b) -> c
uncurry
{-# DEPRECATED arr3 "The function arr3 is deprecated in BearRiver 0.15 and will be removed in future versions." #-}
arr3 :: Arrow a => (b -> c -> d -> e) -> a (b, c, d) e
arr3 :: forall (a :: * -> * -> *) b c d e.
Arrow a =>
(b -> c -> d -> e) -> a (b, c, d) e
arr3 = ((b, c, d) -> e) -> a (b, c, d) e
forall b c. (b -> c) -> a b c
forall (a :: * -> * -> *) b c. Arrow a => (b -> c) -> a b c
arr (((b, c, d) -> e) -> a (b, c, d) e)
-> ((b -> c -> d -> e) -> (b, c, d) -> e)
-> (b -> c -> d -> e)
-> a (b, c, d) e
forall b c a. (b -> c) -> (a -> b) -> a -> c
. \b -> c -> d -> e
h (b
b, c
c, d
d) -> b -> c -> d -> e
h b
b c
c d
d
{-# DEPRECATED arr4 "The function arr4 is deprecated in BearRiver 0.15 and will be removed in future versions." #-}
arr4 :: Arrow a => (b -> c -> d -> e -> f) -> a (b, c, d, e) f
arr4 :: forall (a :: * -> * -> *) b c d e f.
Arrow a =>
(b -> c -> d -> e -> f) -> a (b, c, d, e) f
arr4 = ((b, c, d, e) -> f) -> a (b, c, d, e) f
forall b c. (b -> c) -> a b c
forall (a :: * -> * -> *) b c. Arrow a => (b -> c) -> a b c
arr (((b, c, d, e) -> f) -> a (b, c, d, e) f)
-> ((b -> c -> d -> e -> f) -> (b, c, d, e) -> f)
-> (b -> c -> d -> e -> f)
-> a (b, c, d, e) f
forall b c a. (b -> c) -> (a -> b) -> a -> c
. \b -> c -> d -> e -> f
h (b
b, c
c, d
d, e
e) -> b -> c -> d -> e -> f
h b
b c
c d
d e
e
{-# DEPRECATED arr5 "The function arr5 is deprecated in BearRiver 0.15 and will be removed in future versions." #-}
arr5 :: Arrow a => (b -> c -> d -> e -> f -> g) -> a (b, c, d, e, f) g
arr5 :: forall (a :: * -> * -> *) b c d e f g.
Arrow a =>
(b -> c -> d -> e -> f -> g) -> a (b, c, d, e, f) g
arr5 = ((b, c, d, e, f) -> g) -> a (b, c, d, e, f) g
forall b c. (b -> c) -> a b c
forall (a :: * -> * -> *) b c. Arrow a => (b -> c) -> a b c
arr (((b, c, d, e, f) -> g) -> a (b, c, d, e, f) g)
-> ((b -> c -> d -> e -> f -> g) -> (b, c, d, e, f) -> g)
-> (b -> c -> d -> e -> f -> g)
-> a (b, c, d, e, f) g
forall b c a. (b -> c) -> (a -> b) -> a -> c
. \b -> c -> d -> e -> f -> g
h (b
b, c
c, d
d, e
e, f
f) -> b -> c -> d -> e -> f -> g
h b
b c
c d
d e
e f
f