Ah, yes, you're completely right. I completely agree that moving the
function into the Maybe monad increases readability. This kind of function
is what the Maybe monad was designed for.

Here is a revised patch.

On Sat, Jan 28, 2012 at 8:28 AM, Michael Snoyman <[email protected]>wrote:

> On Sat, Jan 28, 2012 at 1:20 AM, Myles C. Maxfield
> <[email protected]> wrote:
> > the fromJust should never fail, beceause of the guard statement:
> >
> >     | 300 <= code && code < 400 && isJust l'' && isJust l' = Just $ req
> >
> > Because of the order of the && operators, it will only evaluate fromJust
> > after it makes sure that the argument isJust. That function in particular
> > shouldn't throw any exceptions - it should only return Nothing.
> >
> > Knowing that, I don't quite think I understand what your concern is. Can
> you
> > elaborate?
>
> You're right, but I had to squint really hard to prove to myself that
> you're right. That's the kind of code that could easily be broken in
> future updates by an unwitting maintainer (e.g., me). To protect the
> world from me, I'd prefer if the code didn't have the fromJust. This
> might be a good place to leverage the Monad instance of Maybe.
>
> Michael
>

Attachment: getRedirectedRequest.2.patch
Description: Binary data

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to