To avoid the XY problem: I'm aiming to create a function that will take a
List (Maybe a) and return a Maybe (List a), where the result will be
Nothing if ANY of the (Maybe a)s are Nothing, otherwise it will be a list
of just the "a"s.
Here's where I'm getting tripped up in that quest, however: when I manually
combine a list of numbers (0 through 3) things work fine:
```elm
{-| This works -}
test =
((((Just 0) `Maybe.andThen` (\_ -> Just 1)) `Maybe.andThen` (\_ -> Just
2)) `Maybe.andThen` (\_ -> Just 3))
```
but when I try to use `foldr` and `andThen`, it fails:
```elm
{-| This does NOT work -}
test : Maybe number
test =
let
func =
Maybe.andThen
acc =
(Just 0)
list =
[ (\_ -> Just 1), (\_ -> Just 2), (\_ -> Just 3) ]
in
List.foldr func acc list
```
I get the error:
```
The 3rd argument to function `foldr` is causing a mismatch:
Function `foldr` is expecting the 3rd argument to be:
List (Maybe a)
But it is
List (a -> Maybe number)
```
When I change it and remove the anonymous functions in the list (i.e.
```list = [ Just 1, Just 2, Just 3 ]```) I get a new error, which I believe
is leading me down a wrong path (Function `foldr` is expecting the 2nd
argument to be `a -> Maybe b` But it is `Maybe number`).
Any hints here? I've been hitting my head against the wall for a few hours.
Any help would be appreciated. (Is this an Elm bug?)
--
You received this message because you are subscribed to the Google Groups "Elm
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.