[Haskell-beginners] How do I return Nothing from a function?

Darren Grant dedgrant at gmail.com
Mon Apr 21 18:25:24 UTC 2014


If the result of weight is (Maybe t) instead of the then the result of the
array lookup can be passed out directly for the caller to check:

weight x y g = g!(x, y)

Is this what you mean?

Cheers,
Darren
On Apr 21, 2014 10:53 AM, "KC" <kc1956 at gmail.com> wrote:

> How do I return Nothing from a function?
>
> When there is no edge in the graph this code fails.
> *** Exception: Graph.hs:65:9-26: Irrefutable pattern failed for pattern
> (Data.Maybe.Just w)
>
>
> *Main> :t weight
> weight
>   :: (Ix t1, Ix t2) => t1 -> t2 -> Array (t1, t2) (Maybe t) -> t
>
> weight x y g = w
>     where
>         (Just w) = g!(x,y)
>
>
> Thank you for your time.
>
> --
>
> --
>
> Sent from an expensive device which will be obsolete in a few months! :D
> Casey
>
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20140421/6b7d2de9/attachment.html>


More information about the Beginners mailing list