-------- Original Message --------
Subject: Re: [Haskell-cafe] Why Maybe exists if there is Either?
From: Nickolay Kudasov <nickolay.kudasov@gmail.com>
To: vlatko.basic@gmail.com
Cc: "haskell-cafe@haskell.org" <haskell-cafe@haskell.org>
Date: 09.01.2014 16:14
Hi Vlatko,
Actually,
Maybecan be seen asEither () a. NotStringorIntbecause then you would have multipleNothings (ifLeft ""is Nothing then what wouldLeft "hello"be?). SoEither e ais (generally) somewhat bigger thanMaybe a.Since
Eithercan be used to represent strictly bigger types, you may not want it sometimes.lookupfunction (to find element in a list by its index) is an example. It is unnecessary to keep extra information in()orStringorIntabout what caused failure. So if we either don’t care what caused failure or can unambiguously determine the causeMaybesuits better (is more readable) thanEither ().Nick
2014/1/9 Vlatko Basic <vlatko.basic@gmail.com>
Hello Cafe,
With my current knowledge of Haskell, I do not see why is there Maybe if we have Either.
For example, Functor and Monad instances (and many others) of Maybe and Either are the same (except for fail).
In other words, this should hold:
Maybe a = Either String a -- String or something else
Nothing = Left ""
Just a = Right a
I'm curious to find out what was the reasoning to make Maybe?
What is the added value with introducing it?
In which situations the above substitution does not hold?
Best regards,
vlatko
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe