<div dir="ltr"><div>See <a href="https://hackage.haskell.org/package/errors-2.2.0/docs/Data-EitherR.html">https://hackage.haskell.org/package/errors-2.2.0/docs/Data-EitherR.html</a> for somewhat related type.<br><br></div>How about `type Result e = Either e ()` ?<br></div><div class="gmail_extra"><br><div class="gmail_quote">2017-06-15 11:38 GMT+02:00 Ivan Lazar Miljenovic <span dir="ltr"><<a href="mailto:ivan.miljenovic@gmail.com" target="_blank">ivan.miljenovic@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The Maybe type is often (almost always?) used to indicate that a<br>
computation may fail; specifically, `Maybe a` typically indicates that<br>
it may not be possible to always produce a value of type `a`.<br>
<br>
However, there are times when the inverse of this is desirable<br>
(usually within a monadic/side-effectful context): if Nothing is<br>
returned then the computation was a success; otherwise, an error<br>
message is returned.  Whilst this usage definitely fits the types, it<br>
breaks the mould of how we think/use Maybe in most cases and may at<br>
times cause confusion.  As such, it may be advisable (and I know I've<br>
done this at least once) to define a `data Result e = Error e |<br>
Success` data type to model this behaviour.<br>
<br>
Is this a typical enough requirement that would make it worth adding<br>
such a datatype to base (despite my usual aversion to piling more<br>
things in there) or having a library up on Hackage just for this very<br>
simplistic type?<br>
<br>
(Another option would be to use `Either error ()`, which could be<br>
lifted better into an ExceptT result, albeit with the additional<br>
useless parameter/value in there.)<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Ivan Lazar Miljenovic<br>
<a href="mailto:Ivan.Miljenovic@gmail.com">Ivan.Miljenovic@gmail.com</a><br>
<a href="http://IvanMiljenovic.wordpress.com" rel="noreferrer" target="_blank">http://IvanMiljenovic.<wbr>wordpress.com</a><br>
______________________________<wbr>_________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/haskell-<wbr>cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</font></span></blockquote></div><br></div>