Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class Andlike a where
- class Orlike a where
- class Xorlike a where
- class Falsifier a where
- (>&>) :: Andlike a => a -> a -> a
- (>|>) :: Orlike a => a -> a -> a
- andLast :: (Andlike a, Falsifier a, Foldable t) => t a -> a
- andHead :: (Andlike a, Falsifier a, Foldable t) => t a -> a
- andMappend :: (Andlike a, Monoid a) => a -> a -> a
- andMconcat :: (Andlike a, Falsifier a, Monoid a, Foldable t) => t a -> a
- isFalse :: (Eq a, Falsifier a) => a -> Bool
- isTrue :: (Eq a, Falsifier a) => a -> Bool
- boolF :: (Eq b, Falsifier b) => a -> a -> b -> a
- voidF :: Falsifier a => a -> a
- whenF :: (Eq a, Eq b, Falsifier a, Falsifier b) => a -> b -> b
- unlessF :: (Eq a, Eq b, Falsifier a, Falsifier b) => a -> b -> b
Documentation
class Andlike a where Source #
Boolean-like logic operation >&>
that acts like AND for any
boolean-representable datatypes, e.g. '[]' or Maybe
.
Associativity
(a >&> b) >&> c == a >&> (b >&> c)
Absorbing element / truth table
false >&> false == false
false >&> b == false
a >&> false == false
a >&> b == b
(<&<) :: a -> a -> a infixl 7 Source #
Andlike operator, returns the rightmost argument on success, i.e.
if no false
are present.
(<&<) :: (Applicative f, f b ~ a) => a -> a -> a infixl 7 Source #
Andlike operator, returns the rightmost argument on success, i.e.
if no false
are present.
Andlike Bool Source # | |
Andlike () Source # | |
Andlike ByteString Source # | |
Andlike ByteString Source # | |
Andlike Text Source # | |
Andlike [a] Source # | |
Andlike (Maybe a) Source # | |
Andlike (Option a) Source # | |
Andlike (Vector a) Source # | |
Andlike (Either a b) Source # | |
(Andlike a, Andlike b) => Andlike (a, b) Source # | |
Andlike (Parser i a) Source # | |
Ord k => Andlike (Map k v) Source # | |
(Andlike a, Andlike b, Andlike c) => Andlike (a, b, c) Source # | |
(Andlike a, Andlike b, Andlike c, Andlike d) => Andlike (a, b, c, d) Source # | |
Boolean-like logic operation <|<
that acts like OR for any
boolean-representable datatypes, e.g. '[]' or Maybe
. It is basically
'Control.Applicative.(|)' with a list instance that doesn't append.
Associativity
(a <|< b) <|< c == a <|< (b <|< c)
Absorbing element / truth table
false <|< false == false
false <|< b == b
a <|< false == a
a <|< b == a
(<|<) :: a -> a -> a infixl 5 Source #
Orlike operator, returns the leftmost true-like argument,
otherwise the rightmost true-like argument, or finally false
.
(<|<) :: (Alternative f, f b ~ a) => a -> a -> a infixl 5 Source #
Orlike operator, returns the leftmost true-like argument,
otherwise the rightmost true-like argument, or finally false
.
Orlike Bool Source # | |
Orlike () Source # | |
Orlike ByteString Source # | |
Orlike ByteString Source # | |
Orlike Text Source # | |
Orlike [a] Source # | |
Orlike (Maybe a) Source # | |
Orlike (Option a) Source # | |
Orlike (Vector a) Source # | |
Orlike (Either a b) Source # | |
(Orlike a, Orlike b) => Orlike (a, b) Source # | |
Orlike (Parser i a) Source # | |
Ord k => Orlike (Map k v) Source # | |
(Orlike a, Orlike b, Orlike c) => Orlike (a, b, c) Source # | |
(Orlike a, Orlike b, Orlike c, Orlike d) => Orlike (a, b, c, d) Source # | |
class Xorlike a where Source #
Boolean-like logic operation <^>
that acts like XOR for any
boolean-representable datatypes, e.g. '[]' or Maybe
.
Absorbing element / truth table
false <^> false == false
false <^> b == b
a <^> false == a
a <^> b == false
class Falsifier a where Source #
Falsifier Bool Source # | |
Falsifier () Source # | |
Falsifier ByteString Source # | |
Falsifier ByteString Source # | |
Falsifier Text Source # | |
Falsifier [a] Source # | |
Falsifier (Maybe a) Source # | |
Falsifier (Option a) Source # | |
Falsifier (Vector a) Source # | |
Falsifier (Parser i a) Source # | |
Ord k => Falsifier (Map k v) Source # | |
(>&>) :: Andlike a => a -> a -> a infixr 7 Source #
Flipped version of <&<
. Returns the leftmost argument on both
success or failure.
(>|>) :: Orlike a => a -> a -> a infixr 5 Source #
Flipped version of <|<
. Returns the leftmost argument on both
success or failure.
andLast :: (Andlike a, Falsifier a, Foldable t) => t a -> a Source #
Returns the last element on success of all values.
andHead :: (Andlike a, Falsifier a, Foldable t) => t a -> a Source #
Returns the first element on success of all values.
andMappend :: (Andlike a, Monoid a) => a -> a -> a Source #
Monadic append with the annihilating operator guarding each argument. Returns the mappended result on success.
andMconcat :: (Andlike a, Falsifier a, Monoid a, Foldable t) => t a -> a Source #
Monadic concatenation with the annihilating operator guarding each argument.