:: m Bool -> m Bool -> m Bool -package:lifted-base

Chooses between a compiled action and an interpreted action based on the configured default.
Nondeterministically choose between two computations.
(m <|> n) >>= k = (m >>= k) <|> (n >>= k)
(m <|> n) <|> o = m <|> (n <|> o)
empty <|> m = m
m <|> empty = m
Convenience function to catch FailedCommand Timeout exceptions and perform some action. Example:
waitUntil 5 (getText <=< findElem $ ByCSS ".class")
`onTimeout` return ""
Annotate credentials with the specified scopes. This exists to allow users to choose between using newEnv with a Proxy constructed by !, or explicitly specifying scopes via a type annotation. See: !, envScopes, and the scopes available for each service.
Hint the type system about the type argument.
Flexible type extension

Examples

>>> ext0 [1 :: Int, 2, 3] [True, False] :: [Int]
[1,2,3]
>>> ext0 [1 :: Int, 2, 3] [4 :: Int, 5, 6] :: [Int]
[4,5,6]
Monadic version of or
The lazy || operator lifted to a monad. If the first argument evaluates to True the second argument will not be evaluated.
Just True  ||^ undefined  == Just True
Just False ||^ Just True  == Just True
Just False ||^ Just False == Just False
The lazy && operator lifted to a monad. If the first argument evaluates to False the second argument will not be evaluated.
Just False &&^ undefined  == Just False
Just True  &&^ Just True  == Just True
Just True  &&^ Just False == Just False
Lazy monadic conjunction. That is, when the first action returns False, then False is immediately returned, without running the second action.
Lazy monadic disjunction. That is, when the first action returns True, then True is immediately returned, without running the second action.
The && operator lifted to a monad. If the first argument evaluates to False the second argument will not be evaluated.
The || operator lifted to a monad. If the first argument evaluates to True the second argument will not be evaluated.
Monadic version of (&&) operator. It is lazy by the second argument (similar to (||)), meaning that if the first argument is False, the function will return False without evaluating the second argument.
>>> Just False &&^ Just True
Just False

>>> Just True &&^ Just True
Just True

>>> Just True &&^ Nothing
Nothing

>>> Just False &&^ Nothing
Just False

>>> Just False &&^ error "Shouldn't be evaluated"
Just False
Monadic version of (||) operator. It is lazy by the second argument (similar to (||)), meaning that if the first argument is True, the function will return True without evaluating the second argument.
>>> Just False ||^ Just True
Just True

>>> Just False ||^ Just False
Just False

>>> Just False ||^ Nothing
Nothing

>>> Just True ||^ Nothing
Just True

>>> Just True ||^ error "Shouldn't be evaluated"
Just True
Short-cutting version of liftM2 (&&).
Short-cutting version of liftM2 (||).
Lazy monadic conjunction.
Lazy monadic disjunction.
&& lifted to a Monad.
|| lifted to a Monad.