Data.Either¶
The Either type represents values with two possibilities: a value of type Either a b is either Left a or Right b. The Either type is sometimes used to represent a value which is either correct or an error; by convention, the Left constructor is used to hold an error value and the Right constructor is used to hold a correct value (mnemonic: “right” also means “correct”).
Constructors¶
- Data.Either.Left x
- Data.Either.Right x
Operations¶
- either :: (Either a b, Func, Func) -> c
Case analysis for the Either type. If the value is Left a, apply the first function to a; if it is Right b, apply the second function to b.
<?php
Either (null) -> either (
# Left a
function ($a) {
return Int (0);
},
# Right b
function ($b) {
return Int ($b);
});
- isLeft :: Either a b -> Bool
Return Bool (True) if the given value is a Left-value, Bool (False) otherwise.
<?php
Either (null) -> isLeft (); # Bool (True)
- isRight :: Either a b -> Bool
Return Bool (True) if the given value is a Left-value, Bool (False) otherwise.
<?php
Either (Int (10)) -> isRight (); # Bool (True)