Search results
fmapL :: forall r e' e. (e -> e') -> Either e r -> Either e' r
Map a function over the Left value of an Either
mapLeft :: forall l r l2. (l -> l2) -> Either l r -> Either l2 r
coerce1 :: forall n a. Coercible n a => (a -> n) -> Either DecodeError a -> Either DecodeError n
lmap :: forall f a b c. Bifunctor f => (a -> b) -> f a c -> f b c
Map a function over the first type argument of a Bifunctor.
lcmap :: forall a b c p. Profunctor p => (a -> b) -> p b c -> p a c
Map a function over the (contravariant) first type argument only.
throwLeftAs :: forall err m left right. MonadThrow err m => (left -> err) -> Either left right -> m right
Turns a Left a into an exception which reduces nesting
dlmap :: forall p c b a. Profunctor p => (a -> b) -> p b c -> p a c
throwLeftAs :: forall err m left right. MonadThrow err m => (left -> err) -> Either left right -> m right
Turns a Left a into an exception which reduces nesting
handleEither :: forall r e' e. (e -> Either e' r) -> Either e r -> Either e' r
catchEither with the arguments flipped
wrapIso :: forall p t a. Profunctor p => Newtype t a => (a -> t) -> p a a -> p t t
wrapIso :: forall v1 v0 p. HasDimap Function p => Newtype v0 v1 => ObjectOf Function v1 => ObjectOf Function v0 => (v0 -> v1) -> p v0 v0 -> p v1 v1
rmap :: forall f a b c. Bifunctor f => (b -> c) -> f a b -> f a c
Map a function over the second type arguments of a Bifunctor.
rmap :: forall a b c p. Profunctor p => (b -> c) -> p a b -> p a c
Map a function over the (covariant) second type argument only.
drmap :: forall p c b a. Profunctor p => (b -> c) -> p a b -> p a c
fromLeft' :: forall a b. (Unit -> a) -> Either a b -> a
Similar to fromLeft but for use in cases where the default value may be
expensive to compute. As PureScript is not lazy, the standard fromLeft
has to evaluate the default value before returning the result,
whereas here the value is only computed when the Either is known
to be Right.
throwLeftAsM :: forall err m left right. MonadThrow err m => (left -> m err) -> Either left right -> m right
Turns a Left a into an exception which reduces nesting
throwLeftAsM :: forall err m left right. MonadThrow err m => (left -> m err) -> Either left right -> m right
Turns a Left a into an exception which reduces nesting
contramapMaybe :: forall p a b x. Profunctor p => Semigroupal Function Either Either Either p => (a -> Maybe b) -> p b x -> p a x
eitherBool :: forall a. (a -> Boolean) -> a -> Either a a
Upgrade a boolean-style predicate to an either-style predicate mapping.
fromRight' :: forall a b. (Unit -> b) -> Either a b -> b
Similar to fromRight but for use in cases where the default value may be
expensive to compute. As PureScript is not lazy, the standard fromRight
has to evaluate the default value before returning the result,
whereas here the value is only computed when the Either is known
to be Left.
try :: forall b a. (a -> b) -> a -> Either Error b
subst :: forall t f a c. Bound t => Monad f => (a -> f c) -> t f a -> t f c
substDefault :: forall t f a c. MonadTrans t => Monad f => Monad (t f) => (a -> f c) -> t f a -> t f c
censor :: forall w m a. MonadWriter w m => (w -> w) -> m a -> m a
Modify the final accumulator value by applying a function.
local :: forall e w a. ComonadEnv e w => (e -> e) -> w a -> w a
local :: forall r m a. MonadReader r m => (r -> r) -> m a -> m a
seeks :: forall s a w. ComonadStore s w => (s -> s) -> w a -> w a
Reposition the focus at the specified position, which depends on the current position.
censorAccum :: forall acc html a. Accum acc html => (acc -> acc) -> html a -> html a
setCtx :: forall ctx html a. Ctx ctx html => (ctx -> ctx) -> html a -> html a
mapErr :: forall e m a. MonadError e m => (e -> e) -> m a -> m a
resize :: forall m a. MonadGen m => (Size -> Size) -> m a -> m a
Modifies the size state for a random generator.
modCompleter :: forall f a. HasCompleter f => (Completer -> Completer) -> f a -> f a
defaultFilter :: forall a h f. BooleanEq h => Applicative f => Foldable f => Monoid (f a) => (a -> h) -> f a -> f a
filter :: forall f h a. Filterable f => BooleanEq h => (a -> h) -> f a -> f a
filter :: forall f a. Filterable f => (a -> Boolean) -> f a -> f a
filterDefault :: forall f a. Filterable f => (a -> Boolean) -> f a -> f a
A default implementation of filter using filterMap.
filterDefaultPartition :: forall f a. Filterable f => (a -> Boolean) -> f a -> f a
A default implementation of filter using partition.
filterDefaultPartitionMap :: forall f a. Filterable f => (a -> Boolean) -> f a -> f a
A default implementation of filter using partitionMap.
iterateUntil :: forall m a. Monad m => (a -> Boolean) -> m a -> m a
Execute an action repeatedly until its result satisfies a predicate, and return that result (discarding all others).
iterateUntil :: forall m a. MonadRec m => (a -> Boolean) -> m a -> m a
Execute an action repeatedly until its result satisfies a predicate, and return that result (discarding all others).
iterateWhile :: forall m a. Monad m => (a -> Boolean) -> m a -> m a
Execute an action repeatedly until its result fails to satisfy a predicate, and return that result (discarding all others).
iterateWhile :: forall m a. MonadRec m => (a -> Boolean) -> m a -> m a
Execute an action repeatedly until its result fails to satisfy a predicate, and return that result (discarding all others).
retryUntil :: forall m a. Monad m => (a -> Boolean) -> m a -> m a
Repeat a computation until the value satisfies a predicate
dropWhile :: forall f a. Container f => (a -> Boolean) -> f a -> f a
filter :: forall a b. HasFilter a => (b -> Boolean) -> a b -> a b
until :: forall a m. Monad m => (a -> Boolean) -> m a -> m a
shouldNotSatisfyM_Flipped :: forall m a. MonadThrow Error m => Show a => (a -> Boolean) -> m a -> m Unit
shouldSatisfyM_Flipped :: forall m a. MonadThrow Error m => Show a => (a -> Boolean) -> m a -> m Unit
liftA1 :: forall f a b. Applicative f => (a -> b) -> f a -> f b
liftA1 provides a default implementation of (<$>) for any
Applicative functor, without using (<$>) as provided
by the Functor-Applicative superclass
relationship.
liftA1 can therefore be used to write Functor instances
as follows:
instance functorF :: Functor F where
map = liftA1
liftM1 :: forall m a b. Monad m => (a -> b) -> m a -> m b
liftM1 provides a default implementation of (<$>) for any
Monad, without using (<$>) as provided by the
Functor-Monad superclass relationship.
liftM1 can therefore be used to write Functor instances
as follows:
instance functorF :: Functor F where
map = liftM1
map :: forall f a b. Functor f => (a -> b) -> f a -> f b
mapDefault :: forall i f a b. FunctorWithIndex i f => (a -> b) -> f a -> f b
A default implementation of Functor's map in terms of mapWithIndex
cmap :: forall f a b. Contravariant f => (b -> a) -> f a -> f b
squigglyMap :: forall f a b. Functor f => (a -> b) -> f a -> f b
map :: forall p q a b. Dissect p q => (a -> b) -> p a -> p b
A tail-recursive map operation, implemented in terms of Dissect.
map :: forall a c b. HasMap a => (b -> c) -> a b -> a c
map :: forall f a b. Functor f => (a -> b) -> f a -> f b
peeks :: forall s a w. ComonadStore s w => (s -> s) -> w a -> a
Extract a value from a position which depends on the current position.
mapFlipped :: forall v1 v0 f c. HasMap c f => ObjectOf c v0 => ObjectOf c v1 => f v0 -> c v0 v1 -> f v1
asks :: forall e1 e2 w a. ComonadAsk e1 w => (e1 -> e2) -> w a -> e2
Get a value which depends on the environment.
amodify_ :: forall m r s. MonadEffect m => Refer s r => (s -> s) -> r -> m Unit
experiment :: forall f a w s. ComonadStore s w => Functor f => (s -> f s) -> w a -> f a
Extract a collection of values from positions which depend on the current position.
unfoldr1Default :: forall a b t. Unfoldable t => (b -> a /\ (Maybe b)) -> b -> t a
Provides a default implementation of unfoldr1 using unfoldr to satisfy
the superclass bound on Unfoldable.
unfoldrInf :: forall a b u. Unfoldable1 u => (b -> a /\ b) -> b -> u a
Unfold an infinite Unfoldable1.
Analogous to unfold1 and unfold, but with no way to signal termination;
unfoldInf f b consists of fst $ f b appended to unfoldInf f $ snd $ f b.
This should only be used to produce either lazy types (like lazy Lists) or
types with truncating Unfoldable1 instances (like Maybe).
amodify :: forall m r s. MonadEffect m => Refer s r => (s -> s) -> r -> m s
iterate :: forall a u. Unfoldable1 u => (a -> a) -> a -> u a
Create an infinite Unfoldable1 by repeated application of a function to a seed value.
Analogous to iterateN, but with no iteration limit.
This should only be used to produce either lazy types (like lazy Lists) or
types with truncating Unfoldable1 instances (like Maybe).
onChangeM :: forall a m t. MonadEffect m => EventTargetOp t => (Event -> Effect a) -> m t -> m t
Attach an event handler function to the event target when the target's value changes. The target is returned.
all :: forall a b f. Foldable f => HeytingAlgebra b => (a -> b) -> f a -> b
all f is the same as and <<< map f; map a function over the structure,
and then get the conjunction of the results.
any :: forall a b f. Foldable f => HeytingAlgebra b => (a -> b) -> f a -> b
any f is the same as or <<< map f; map a function over the structure,
and then get the disjunction of the results.
foldMap :: forall f a m. Foldable f => Monoid m => (a -> m) -> f a -> m
foldMap1 :: forall t a m. Foldable1 t => Semigroup m => (a -> m) -> t a -> m
foldMap1DefaultL :: forall t m a. Foldable1 t => Functor t => Semigroup m => (a -> m) -> t a -> m
A default implementation of foldMap1 using foldl1.
Note: when defining a Foldable1 instance, this function is unsafe to use
in combination with foldl1Default.
foldMap1DefaultR :: forall t m a. Foldable1 t => Functor t => Semigroup m => (a -> m) -> t a -> m
A default implementation of foldMap1 using foldr1.
Note: when defining a Foldable1 instance, this function is unsafe to use
in combination with foldr1Default.
foldMapDefault :: forall i f a m. FoldableWithIndex i f => Monoid m => (a -> m) -> f a -> m
A default implementation of foldMap using foldMapWithIndex
foldMapDefaultL :: forall f a m. Foldable f => Monoid m => (a -> m) -> f a -> m
A default implementation of foldMap using foldl.
Note: when defining a Foldable instance, this function is unsafe to use
in combination with foldlDefault.
foldMapDefaultR :: forall f a m. Foldable f => Monoid m => (a -> m) -> f a -> m
A default implementation of foldMap using foldr.
Note: when defining a Foldable instance, this function is unsafe to use
in combination with foldrDefault.
tracks :: forall w a t. ComonadTraced t w => (a -> t) -> w a -> a
Extracts a value at a relative position which depends on the current value.
areads :: forall m r s a. MonadEffect m => Refer s r => (s -> a) -> r -> m a
liftF :: forall b a f. Applicative f => (a -> b) -> a -> f b
embed :: forall t n m b. MMonad t => Monad n => (forall a. m a -> t n a) -> t m b -> t n b
bindFlipped :: forall m a b. Bind m => (a -> m b) -> m a -> m b
bindFlipped is bind with its arguments reversed. For example:
print =<< random
extend :: forall w b a. Extend w => (w a -> b) -> w a -> w b
oneOfMap :: forall f g a b. Foldable f => Plus g => (a -> g b) -> f a -> g b
Folds a structure into some Plus.
parOneOfMap :: forall a b t m f. Parallel f m => Alternative f => Foldable t => Functor t => (a -> m b) -> t a -> m b
Race a collection in parallel while mapping to some effect.
filterMap :: forall f a b. Filterable f => (a -> Maybe b) -> f a -> f b
filterMapByWither :: forall t a b. Witherable t => (a -> Maybe b) -> t a -> t b
A default implementation of filterMap given a Witherable.
filterMapDefault :: forall f a b. Filterable f => (a -> Maybe b) -> f a -> f b
A default implementation of filterMap using separate. Note that this is
almost certainly going to be suboptimal compared to direct implementations.
mapMaybe :: forall html msg1 msg2. MapMaybe html => (msg1 -> Maybe msg2) -> html msg1 -> html msg2
chain :: forall a c b. HasChain a => (b -> a c) -> a b -> a c
iterateM :: forall b a m. Monad m => (a -> m a) -> m a -> m b
lowerBy :: forall b a f. Rebuildable f => (a -> Maybe b) -> f a -> f b
rebuildBy :: forall f b a. Rebuildable f => (a -> Array b) -> f a -> f b
traverse1_ :: forall t f a b. Foldable1 t => Apply f => (a -> f b) -> t a -> f Unit
Traverse a data structure, performing some effects encoded by an
Apply instance at each value, ignoring the final result.
traverse_ :: forall a b f m. Applicative m => Foldable f => (a -> m b) -> f a -> m Unit
Traverse a data structure, performing some effects encoded by an
Applicative functor at each value, ignoring the final result.
For example:
traverse_ print [1, 2, 3]
parTraverse_ :: forall f m t a b. Parallel f m => Applicative f => Foldable t => (a -> m b) -> t a -> m Unit
Traverse a collection in parallel, discarding any results.
traverse_ :: forall f m a. Foldable f => MonadRec m => (a -> m Unit) -> f a -> m Unit
Safely traverse a foldable container.
allS :: forall @t @f @a. Selective f => Foldable t => (a -> f Boolean) -> t a -> f Boolean
Short-circuiting all
anyS :: forall @t @f @a. Selective f => Foldable t => (a -> f Boolean) -> t a -> f Boolean
Short-circuiting any
applySecond :: forall a b f. Apply f => f a -> f b -> f b
Combine two effectful actions, keeping only the result of the second.
modify :: forall t a. Newtype t a => (a -> a) -> t -> t
This combinator unwraps the newtype, applies a monomorphic function to the contained value and wraps the result back in the newtype