
Derek Elkins wrote:
On Wed, 2007-07-11 at 17:10 -0700, Jeremy Shaw wrote:
At Thu, 12 Jul 2007 09:18:14 +1000, Thomas Conway wrote:
On 7/12/07, Andrew Coppin
wrote: It's fairly common to use the Either type for this. By convention, "Right" means "correct", and by elimination "Left" means an error... Presumably, this is because the world is dominated by dull, conventional, right handed people. :-) Personally, I blame it on the Romans.
Personally, I blame it on biology.
I blame it on partial application at the type level. "instance Monad (Either x)" and "instance MonadError (Either x)" determine that x has no hope of being the normal return type and is stuck as the exception type. But I guess you can still blame the Romans for writing everything from left to right, writing "Either x y" rather than "y x rehtiE", thus designating the first argument x as Left. Actually, it predates the Romans too: they learned that from the Greeks, and the Greeks got that from God-knows-who. (Actually, God knows, just that I don't know.)