[Haskell-cafe] There is no null; Maybe/Option types
Henning Thielemann
lemming at henning-thielemann.de
Fri Apr 22 21:26:39 CEST 2011
On Fri, 22 Apr 2011, Christopher Done wrote:
> Use of Fantom's save invoke and Maybe are more or less the same.
>
> -- Hard way
> email = if userList /= Nothing
> then let user = findUser "bob" (fromJust userList)
> in if user /= Nothing
> then getEmail (fromJust user)
> else Nothing
> else Nothing
In idiomatic Haskell you would write
case userList of
Nothing -> Nothing
Just plainUserList =
let user = findUser "bob" plainUserList
...
since (userList /= Nothing) requires an Eq instance without need and it
requires fromJust. Or was there an educational purpose to write it with
(/= Nothing) ?
More information about the Haskell-Cafe
mailing list