<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<style id="EHTipGlobalStyle">.EHTipToolTip * {background: inherit;font-family: inherit;font-size: inherit;font-size-adjust: none;font-stretch: normal;line-height: inherit;font-variant: normal;border: 0px;text-transform: inherit;color: inherit;font-style: inherit;text-decoration: inherit;margin: 0px 0px 0px 0px;padding: 0px 0px 0px 0px;float: none;display: inline;cursor: default;}
.EHTipReplacer, .EHTipKey, .EHTipAudio {cursor: pointer;}
.EHTipToolTip hr {margin: 0.4em 0;display: block;border: 1px inset;}
.EHTipTranslation {font-style: normal;}
.EHTipTranslation a {color: #000099;font-style: normal;text-decoration: none;}
.EHTipTranslation a:hover {background: inherit;color: #000000;text-decoration: underline;}
</style>
</head>
<body style="background-color: rgb(255, 255, 255); color: rgb(0, 0,
0);" bgcolor="#FFFFFF" text="#000000">
Hi Brandon,<br>
<br>
A nice example with NULL as usage. :-) Missed that one in thinking.<br>
<br>
> ... is letting the programmer do what they need to do with a
minimum of fuss or extra work ...<br>
But doesn't the need of mixing Maybe and Either cause more work for
the programmer? Programmer of library, or programmer using the
library?<br>
<br>
I'll take a look at <tt>Control.Error</tt> package that seems to
simplify mixing.<br>
<br>
<br>
Thanks all you guys for your thoughts!<br>
<br>
<br>
vlatko<br>
<br>
<blockquote style="border-left: 2px solid #330033 !important;
border-right: 2px solid #330033 !important; padding: 0px 15px 0px
15px; margin: 8px 2px;"
cite="mid:CAKFCL4Ur+nK1fD5EmJZ4orJmxd1+PLpAu44oJf_sheEBhAXuaQ@mail.gmail.com"
type="cite"><!--[if !IE]><DIV style="border-left: 2px solid #330033; border-right: 2px solid #330033; padding: 0px 15px; margin: 2px 0px;"><![endif]--><span
style="color:#000000;" class="headerSpan">
<div class="moz-cite-prefix">-------- Original Message --------<br>
Subject: Re: [Haskell-cafe] Why Maybe exists if there is
Either?<br>
From: Brandon Allbery <a class="moz-txt-link-rfc2396E" href="mailto:allbery.b@gmail.com"><allbery.b@gmail.com></a><br>
To: Vlatko Bašić <a class="moz-txt-link-rfc2396E" href="mailto:vlatko.basic@gmail.com"><vlatko.basic@gmail.com></a><br>
Cc: Johannes Erber <a class="moz-txt-link-rfc2396E" href="mailto:Hannes_E@gmx.de"><Hannes_E@gmx.de></a>,
<a class="moz-txt-link-rfc2396E" href="mailto:haskell-cafe@haskell.org">"haskell-cafe@haskell.org"</a> <a class="moz-txt-link-rfc2396E" href="mailto:haskell-cafe@haskell.org"><haskell-cafe@haskell.org></a><br>
Date: 09.01.2014 16:35<br>
</div>
<br>
<br>
</span>
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">On Thu, Jan 9, 2014 at 10:26 AM,
Vlatko Basic <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:vlatko.basic@gmail.com" target="_blank">vlatko.basic@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">I put
String because I'm currently thinking about error
handling, and Left String is the usual way of reporting
failure, and I see Maybe as a type for reporting errors,
failures and similar.<br>
</blockquote>
<div><br>
</div>
<div>Actually, the fact that all you can convey is
"something failed" makes Maybe not a good error reporting
type. And this is fine; there is still the "no value"
niche (Perl's undefined, SQL's NULL, etc.) --- and the
evidence from C's NULL that an *out of band*
representation is often a very good idea (and from
IEEE754's NaN that multiple out of band values is often a
very bad idea).</div>
<div><br>
</div>
<div>Also, a point that seems to often be missed in
considering what is "more important": ultimately, what is
*most* important is letting the programmer do what they
need to do with a minimum of fuss or extra work.
Predefining very useful stuff like Maybe which could be
reinvented on the fly based on Either is about minimizing
even the trivial extra work. Pedagogy is only rarely a
useful design goal.</div>
<div><br>
</div>
</div>
-- <br>
<div dir="ltr">
<div>brandon s allbery kf8nh
sine nomine associates</div>
<div><a moz-do-not-send="true"
href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>
<a moz-do-not-send="true"
href="mailto:ballbery@sinenomine.net" target="_blank">ballbery@sinenomine.net</a></div>
<div>unix, openafs, kerberos, infrastructure, xmonad <a
moz-do-not-send="true" href="http://sinenomine.net"
target="_blank">http://sinenomine.net</a></div>
</div>
</div>
</div>
<!--[if !IE]></DIV><![endif]--></blockquote>
<br>
</body>
</html>