mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-26 05:01:34 +03:00
17 lines
423 B
Idris
17 lines
423 B
Idris
|
module D
|
||
|
|
||
|
-- %logging 10
|
||
|
func1 : Applicative f => (a -> f c) -> (b -> f d) -> (a, b) -> f (c, d)
|
||
|
func1 fn g (ma, mb) = MkPair <$> fn ma <*> ?gmb
|
||
|
-- %logging 0
|
||
|
|
||
|
-- %logging 10
|
||
|
mfunc : (a -> Maybe c) -> (b -> Maybe d) -> (a, b) -> Maybe (c, d)
|
||
|
mfunc fn g (ma, mb)
|
||
|
= let pairapp = MkPair <$> fn ma in
|
||
|
pairapp <*> g mb
|
||
|
%logging 0
|
||
|
|
||
|
func2 : (a -> c) -> (b -> d) -> a -> b -> (c, d)
|
||
|
func2 f g a b = MkPair (f a) (g b)
|