:: m Bool -> m Bool -> m Bool -package:utility-ht
Chooses between a compiled action and an interpreted action based on
the configured default.
Convenience function to catch
FailedCommand Timeout
exceptions and perform some action.
Example:
waitUntil 5 (getText <=< findElem $ ByCSS ".class")
`onTimeout` return ""
Generalized version of
finally.
Note, any monadic side effects in
m of the "afterward"
computation will be discarded.
Generalized version of
onException.
Note, any monadic side effects in
m of the "afterward"
computation will be discarded.
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]
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
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.