Something like "maybe" function?


31.07.2018 10:07, Marc Busqué wrotes:
Hi!

I have two functions:

```
foo :: a -> Maybe b
bar :: a -> Maybe c
```

From which I want to build a higher order function:

```
foobar :: a -> (a -> Maybe b) -> (a -> Maybe c) -> Either b c
```

The implementation I need is:

```
foobar x f g =
  case (f x) of
    Nothing -> g x
    Just y  -> Just y
```

I'm a bit surprised that looking at hoogle I don't find a built-in
solution for this quite common need for `Maybe` types (or perhaps for
any monad).

Am I looking in the wrong way? Does it exist a similar abstraction but
with a different shape?

Thanks in advance,

Marc Busqué
http://waiting-for-dev.github.io/about/


_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.