[Haskell-cafe] Re: Doubting Haskell
Jonathan Cast
jonathanccast at fastmail.fm
Sun Feb 17 04:20:40 EST 2008
On 17 Feb 2008, at 1:12 AM, Colin Paul Adams wrote:
>>>>>> "apfelmus" == apfelmus <apfelmus at quantentunnel.de> writes:
>
> apfelmus> Colin Paul Adams wrote:
>>> Left? Right?
>>>
>>> Hardly descriptive terms. Sounds like a sinister language to
>>> me.
>
> apfelmus> The mnemonics is that Right x is "right" in the sense of
> apfelmus> correct. So, the error case has to be Left err .
>
> As I said, this is sinister
You do know what `sinister' means, no?
> (i.e. regarding left-handed people as
> evil).
Sheesh, it's just a mnemonic...
>
> And left is not the opposite of correct. That would be incorrect.
No, Left is the opposite of Right. Right is the constructor modified
by fmap (due to the design of Haskell type classes); therefore return
= Right. Therefore any computation in Either that is not the result
of a return is an application of Left.
> Also, it is not clear to me that a failure to read a file (for
> instance) is incorrect behaviour.
Then don't think of Left as `incorrect behavior'. Left isn't
incorrect, or Parsec's parse function wouldn't return it on parse
errors.
> If the file doesn't exist, then I
> think it ought to be considered correct behaviour to fail to read the
> file.
>
> So Success and Failure seem to be much better. Certainly they make the
> program far more readable to my eyes.
But the program succeeded in doing what I expected it to do when if
failed...
jcc
Besides, these decisions were made 15 years ago, they're not going to
change now...
More information about the Haskell-Cafe
mailing list