[Haskell-cafe] MonadFail with type parameter for error message

Daneel Yaitskov dyaitskov at gmail.com
Tue Nov 30 19:38:54 UTC 2021


On Tue, Nov 30, 2021 at 2:20 PM Brandon Allbery <allbery.b at gmail.com> wrote:

> Because the primary purpose of fail is to provide for failed pattern
> matches, which invoke it with a String representing the pattern match
> error.
>

I see the purpose, but fail with just literal string is not very
informative.
It is easier for debugging supplying an error message with Showable
parameters.
Custom Prelude has show :: a - >Text so fail looks like:

    oops -> fail $ "functionX is not implemented for " <> show oops



> On Tue, Nov 30, 2021 at 2:16 PM Daneel Yaitskov <dyaitskov at gmail.com>
> wrote:
> >
> > Dear Cafe,
> >
> > MonadFail.fail takes String.
> > I wasn't able to find MonadFail for custom error type.
> > Is there any proposals to base?
> >
> > Let's say Data.Text, which gains popularity with OverloadedStrings
> extensions.
> >
> > class MonadFail m where
> >   fail :: String -> m a
> >
> > Why not ?
> > class MonadFail m where
> >   fail :: (forall s. IsString s => s) -> m a
> >
> > class MonadFailWith m s where
> >   fail :: s -> m a
> >
> >
> >
> >
> >
> >
> >
> > --
> >
> > Best regards,
> > Daniil Iaitskov
> >
> >
> >
> > _______________________________________________
> > 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.
>
>
>
> --
> brandon s allbery kf8nh
> allbery.b at gmail.com
>


-- 

Best regards,
Daniil Iaitskov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20211130/e51ea8a2/attachment.html>


More information about the Haskell-Cafe mailing list