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

P purescript-errors M Data.EitherR
mapLeft :: forall l r l2. (l -> l2) -> Either l r -> Either l2 r
P purescript-meowclient M MeowClient.Utils
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.

P purescript-bifunctors M Data.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.

P purescript-profunctor M Data.Profunctor
dlmap :: forall p c b a. Profunctor p => (a -> b) -> p b c -> p a c
P purescript-stuff M Stuff
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

P purescript-yoga-om M Yoga.Om
wrapIso :: forall p t a. Profunctor p => Newtype t a => (a -> t) -> p a a -> p t t
P purescript-profunctor M Data.Profunctor
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
P purescript-subcategory M Control.Subcategory.Profunctor.HasDimap
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.

P purescript-bifunctors M Data.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.

P purescript-profunctor M Data.Profunctor
drmap :: forall p c b a. Profunctor p => (b -> c) -> p a b -> p a c
P purescript-stuff M Stuff
censor :: forall w m a. MonadWriter w m => (w -> w) -> m a -> m a

Modify the final accumulator value by applying a function.

P purescript-transformers M Control.Monad.Writer.Class
local :: forall e w a. ComonadEnv e w => (e -> e) -> w a -> w a
P purescript-transformers M Control.Comonad.Env.Class
local :: forall r m a. MonadReader r m => (r -> r) -> m a -> m a
P purescript-transformers M Control.Monad.Reader.Class
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.

P purescript-transformers M Control.Comonad.Store.Class
censorAccum :: forall acc html a. Accum acc html => (acc -> acc) -> html a -> html a
P purescript-chameleon-transformers M Chameleon.Transformers.Accum.Class
setCtx :: forall ctx html a. Ctx ctx html => (ctx -> ctx) -> html a -> html a
P purescript-chameleon-transformers M Chameleon.Transformers.Ctx.Class
mapErr :: forall e m a. MonadError e m => (e -> e) -> m a -> m a
P purescript-ts-bridge M TsBridge.Types
defaultFilter :: forall a h f. BooleanEq h => Applicative f => Foldable f => Monoid (f a) => (a -> h) -> f a -> f a
P purescript-filterables M Data.Filterable
filter :: forall f h a. Filterable f => BooleanEq h => (a -> h) -> f a -> f a
P purescript-filterables M Data.Filterable
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
P purescript-prelude M Control.Applicative
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
P purescript-prelude M Control.Monad
map :: forall f a b. Functor f => (a -> b) -> f a -> f b
P purescript-prelude M Data.Functor
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

P purescript-foldable-traversable M Data.FunctorWithIndex
cmap :: forall f a b. Contravariant f => (b -> a) -> f a -> f b
P purescript-contravariant M Data.Functor.Contravariant
squigglyMap :: forall f a b. Functor f => (a -> b) -> f a -> f b
P purescript-signal M Signal
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.

P purescript-dissect M Dissect.Class
map :: forall a c b. HasMap a => (b -> c) -> a b -> a c
P purescript-neon M Neon.Class.HasMap
map :: forall f a b. Functor f => (a -> b) -> f a -> f b
P purescript-qualified-do M QualifiedDo.ParApply
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.

P purescript-transformers M Control.Comonad.Store.Class
mapFlipped :: forall v1 v0 f c. HasMap c f => ObjectOf c v0 => ObjectOf c v1 => f v0 -> c v0 v1 -> f v1
P purescript-subcategory M Control.Subcategory.Functor.HasMap
asks :: forall e1 e2 w a. ComonadAsk e1 w => (e1 -> e2) -> w a -> e2

Get a value which depends on the environment.

P purescript-transformers M Control.Comonad.Env.Class
amodify :: forall m r s. MonadEffect m => Refer s r => (s -> s) -> r -> m s
P purescript-webb-refer M Webb.State.Prelude
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).

P purescript-trivial-unfold M Data.Unfoldable1.Trivial1
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.

P purescript-foldable-traversable M Data.Foldable
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.

P purescript-foldable-traversable M Data.Foldable
foldMap :: forall f a m. Foldable f => Monoid m => (a -> m) -> f a -> m
P purescript-foldable-traversable M Data.Foldable
foldMap1 :: forall t a m. Foldable1 t => Semigroup m => (a -> m) -> t a -> m
P purescript-foldable-traversable M Data.Semigroup.Foldable
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.

P purescript-foldable-traversable M Data.Semigroup.Foldable
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.

P purescript-foldable-traversable M Data.Semigroup.Foldable
foldMapDefault :: forall i f a m. FoldableWithIndex i f => Monoid m => (a -> m) -> f a -> m

A default implementation of foldMap using foldMapWithIndex

P purescript-foldable-traversable M Data.FoldableWithIndex
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.

P purescript-foldable-traversable M Data.Foldable
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.

P purescript-foldable-traversable M Data.Foldable
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.

P purescript-transformers M Control.Comonad.Traced.Class
areads :: forall m r s a. MonadEffect m => Refer s r => (s -> a) -> r -> m a
P purescript-webb-refer M Webb.State.Prelude
liftF :: forall b a f. Applicative f => (a -> b) -> a -> f b
P purescript-simple-parser M Text.Parsing.Util
applySecond :: forall a b f. Apply f => f a -> f b -> f b

Combine two effectful actions, keeping only the result of the second.

P purescript-prelude M Control.Apply
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

P purescript-newtype M Data.Newtype
fromLeft :: forall a b. a -> Either a b -> a

A function that extracts the value from the Left data constructor. The first argument is a default value, which will be returned in the case where a Right is passed to fromLeft.

P purescript-either M Data.Either
fromRight :: forall a b. b -> Either a b -> b

A function that extracts the value from the Right data constructor. The first argument is a default value, which will be returned in the case where a Left is passed to fromRight.

P purescript-either M Data.Either
sampleOnLeft_ :: forall event a b. IsEvent event => event a -> event b -> event b
P purescript-hyrule M FRP.Event.Class
transAnaT :: forall t f. Recursive t f => Corecursive t f => (t -> t) -> t -> t
P purescript-matryoshka M Matryoshka.Unfold
transCataT :: forall t f. Recursive t f => Corecursive t f => (t -> t) -> t -> t
P purescript-matryoshka M Matryoshka.Fold
applySecond :: forall v1 v0 f c. HasApply c f => HasConst c => HasIdentity c => HasMap c f => ObjectOf c v0 => ObjectOf c v1 => ObjectOf c (c v1 v1) => ObjectOf c (c v0 (c v1 v1)) => ObjectOf c (c (c v1 v1) (c v0 (c v1 v1))) => f v0 -> f v1 -> f v1
P purescript-subcategory M Control.Subcategory.Functor.HasApply
everywhere :: forall a. Data a => (forall b. Data b => b -> b) -> a -> a

Apply a transformation everywhere, bottom-up

P purescript-ajnsit-typeable M Data.Data
everywhere' :: forall a. Data a => (forall b. Data b => b -> b) -> a -> a

Apply a transformation everywhere, top-down

P purescript-ajnsit-typeable M Data.Data
gmapT :: forall a. Data a => (forall b. Data b => b -> b) -> a -> a

A generic transformation that maps over the immediate subterms

P purescript-ajnsit-typeable M Data.Data
mkT :: forall a b. Typeable a => Typeable b => (b -> b) -> a -> a
P purescript-ajnsit-typeable M Data.Data
apply :: forall a b. (a -> b) -> a -> b

Applies a function to an argument. This is primarily used as the operator ($) which allows parentheses to be omitted in some cases, or as a natural way to apply a chain of composed functions to a value.

P purescript-prelude M Data.Function
un :: forall t a. Newtype t a => (a -> t) -> t -> a

Given a constructor for a Newtype, this returns the appropriate unwrap function.

P purescript-newtype M Data.Newtype
mulNat :: forall proxy a b c. ProductNat a b c => proxy a -> proxy b -> proxy c
P purescript-typelevel-peano M Type.Data.Peano.Nat.Definition
plus :: forall proxy a b c. SumInt a b c => proxy a -> proxy b -> proxy c
P purescript-typelevel-peano M Type.Data.Peano.Int.Definition
plusNat :: forall proxy a b c. SumNat a b c => proxy a -> proxy b -> proxy c
P purescript-typelevel-peano M Type.Data.Peano.Nat.Definition
powNat :: forall proxy a b c. ExponentiationNat a b c => proxy a -> proxy b -> proxy c
> powNat d2 d3
8 -- : NProxy D8

a raised to the power of b a^b = c

P purescript-typelevel-peano M Type.Data.Peano.Nat.Definition
prod :: forall proxy a b c. ProductInt a b c => proxy a -> proxy b -> proxy c
P purescript-typelevel-peano M Type.Data.Peano.Int.Definition
memoize :: forall a b. Tabulate a => (a -> b) -> a -> b

Memoize a function of one argument

P purescript-open-memoize M Data.Function.Memoize
concat :: forall xs ys zs lproxy. Concat xs ys zs => lproxy xs -> lproxy ys -> lproxy zs
P purescript-typelevel-lists M Type.Data.List
drop :: forall n xs ys lproxy iproxy. Drop n xs ys => iproxy n -> lproxy xs -> lproxy ys
P purescript-typelevel-lists M Type.Data.List
map :: forall f xs ys fproxy kproxy lproxy. Map f xs ys => fproxy f -> kproxy xs -> lproxy ys
P purescript-typelevel-lists M Type.Data.List
take :: forall n xs ys lproxy iproxy. Take n xs ys => iproxy n -> lproxy xs -> lproxy ys
P purescript-typelevel-lists M Type.Data.List
zip :: forall x y z lproxy. Zip x y z => lproxy x -> lproxy y -> lproxy z
P purescript-typelevel-lists M Type.Data.List
getOrAlt :: forall v s r' r l h g f. Alternative h => Cons s v r' r => RowToList r l => RGetOrAlt f g s l r => g s -> f r -> h v
P purescript-struct M Data.Struct.GetOrAlt.GetOrAlt
memoize :: forall b a. Tabulate a => (a -> b) -> a -> b

Memoize a function of one argument

P purescript-memoize M Data.Function.Memoize
over :: forall s t a b @sym lenses. IsSymbol sym => ParseSymbol sym lenses => ConstructBarlow lenses Function s t a b => (a -> b) -> s -> t
P purescript-barlow-lens M Data.Lens.Barlow.Helpers
applicator :: forall b a. (a -> b) -> a -> b

A combinator - applicator

Λ a b . (a → b) → a → b

λ f x . f x

P purescript-birds M Aviary.Birds
foldMap :: forall a b s. Convert s (Statements a) => Monoid b => (a -> b) -> s -> b
P purescript-qualified-do M QualifiedDo.FoldMap
idstar :: forall b a. (a -> b) -> a -> b

I* combinator - id bird once removed

S(SK)

Λ a b . (a → b) → a → b

λ f x . f x

P purescript-birds M Aviary.Birds
local :: forall a b r. (a -> b) -> (Ask b => r) -> (Ask a => r)

Run a function over an implicit parameter

Note: Be careful while using this to map over the value without updating the type.

-- evaluates to `1`, not `2`
provide 1 (local ((*) 2) (ask @Int))
P purescript-ask M Control.Ask
mapUndefined :: forall b a. (a -> b) -> a -> b
P purescript-reactnative M ReactNative.Internal.Undefinable
memoize :: forall a b. (a -> b) -> a -> b

Memoize the function f. If the argument of f differs from the previous call, then f is recomputed.

P purescript-pha M Pha.Util
moldMap :: forall t e m. Moldable t e => Monoid m => (e -> m) -> t -> m
P purescript-moldy M Data.Moldy
moldMapDefaultL :: forall m e t. Moldable t e => Monoid m => (e -> m) -> t -> m
P purescript-moldy M Data.Moldy
moldMapDefaultR :: forall m e t. Moldable t e => Monoid m => (e -> m) -> t -> m

A default implementation of moldMap based on moldr

P purescript-moldy M Data.Moldy
nmap :: forall fa fb a b. NestedFunctor fa fb a b => (a -> b) -> fa -> fb
P purescript-nested-functor M Data.Functor.Nested
alt :: forall f a. Alt f => f a -> f a -> f a
P purescript-control M Control.Alt
choose :: forall m a. MonadGen m => m a -> m a -> m a

Creates a generator that outputs a value chosen from one of two existing existing generators with even probability.

P purescript-gen M Control.Monad.Gen
max1 :: forall f a. Ord1 f => f a -> f a -> f a
P purescript-higher-order M Data.Operator.Ord
min1 :: forall f a. Ord1 f => f a -> f a -> f a
P purescript-higher-order M Data.Operator.Ord
onIntegrityError :: forall m a. MonadError PGError m => m a -> m a -> m a
P purescript-postgresql-client M Database.PostgreSQL.PG
alt :: forall f a. Alternative f => f a -> f a -> f a
P purescript-invertible-syntax M Text.Syntax.Classes
dappend :: forall cnt a. Diff cnt => cnt a -> cnt a -> cnt a
P purescript-difference-containers M Containers.Difference
fromFoldableL :: forall a c f. Foldable f => Consable c => c a -> f a -> c a

Conversion from Foldable to Consable using foldl.

fromFoldableL [] [1,2,3,4]  == [4,3,2,1]
fromFoldableL [0] [1,2,3,4] == [4,3,2,1,0]
P purescript-consable M Data.Consable
fromFoldableR :: forall a c f. Foldable f => Consable c => c a -> f a -> c a

Conversion from Foldable to Consable using foldr.

fromFoldableR [] [1,2,3,4]  == [1,2,3,4]
fromFoldableR [5] [1,2,3,4] == [1,2,3,4,5]
P purescript-consable M Data.Consable
interleave :: forall m a. MonadLogic m => m a -> m a -> m a
P purescript-logic M Control.Monad.Logic.Class
applyFirst :: forall a b f. Apply f => f a -> f b -> f a

Combine two effectful actions, keeping only the result of the first.

P purescript-prelude M Control.Apply
try :: forall e m a. MonadError e m => m a -> m (Either e a)

Return Right if the given action succeeds, Left if it throws.

P purescript-transformers M Control.Monad.Error.Class
sampleOnRight_ :: forall event a b. IsEvent event => event a -> event b -> event a

Create an Event which samples the latest values from the first event at the times when the second event fires, ignoring the values produced by the second event.

P purescript-hyrule M FRP.Event.Class
sampleOn_ :: forall b a event. IsEvent event => event a -> event b -> event a

Create an Event which samples the latest values from the first event at the times when the second event fires, ignoring the values produced by the second event.

P purescript-event M FRP.Event.Class
applyFirst :: forall v1 v0 f c. HasApply c f => HasConst c => HasMap c f => ObjectOf c v0 => ObjectOf c v1 => ObjectOf c (c v1 v0) => f v0 -> f v1 -> f v0
P purescript-subcategory M Control.Subcategory.Functor.HasApply
trial :: forall a e g f. ErrorControl f g e => Monad f => f a -> g (Either e a)
P purescript-errorcontrol M Error.Control
voidLeft :: forall f a b. Functor f => f a -> b -> f b

A version of voidRight with its arguments flipped.

P purescript-prelude M Data.Functor
fix :: forall l. Lazy l => (l -> l) -> l

fix defines a value as the fixed point of a function.

The Lazy instance allows us to generate the result lazily.

P purescript-control M Control.Lazy
bipure :: forall w a b. Biapplicative w => a -> b -> w a b
P purescript-bifunctors M Control.Biapplicative
modify :: forall s m. MonadState s m => (s -> s) -> m s

Modify the state by applying a function to the current state. The returned value is the new state value.

P purescript-transformers M Control.Monad.State.Class
seek :: forall s a w. ComonadStore s w => s -> w a -> w a

Reposition the focus at the specified position.

P purescript-transformers M Control.Comonad.Store.Class
mmodify :: forall m s. ReferM s m => (s -> s) -> m s
P purescript-webb-refer M Webb.State.Prelude
filled :: forall m a style. MonadCanvasAction m => CanvasStyle style => style -> m a -> m a

Run a MonadCanvasAction with the given fillStyle, resetting it to the previous value after

P purescript-canvas-action M Graphics.CanvasAction
putCtx :: forall a html ctx. Ctx ctx html => ctx -> html a -> html a
P purescript-chameleon-transformers M Chameleon.Transformers.Ctx.Class
stroked :: forall m a style. MonadCanvasAction m => CanvasStyle style => style -> m a -> m a

Run a MonadCanvasAction with the given strokeStyle, resetting it to the previous value after

P purescript-canvas-action M Graphics.CanvasAction
tellAccum :: forall acc html a. TellAccum acc html => acc -> html a -> html a
P purescript-chameleon-transformers M Chameleon.Transformers.Accum.Class
get :: forall v s r' r l g f. Cons s v r' r => RGet f g s l r => RowToList r l => g s -> f r -> v
P purescript-struct M Data.Struct.Get.Get
match :: forall v r1 r0 l1 l0 g f. RMatch f g v l0 r0 l1 r1 => RowToList r0 l0 => RowToList r1 l1 => f r0 -> g r1 -> v
P purescript-struct M Data.Struct.Match.Match
rsingleton :: forall f g s v r. RSingleton f g s => Cons s v () r => Lacks s () => g s -> v -> f r
P purescript-struct M Data.Struct.Singleton.RSingleton
scalarMul :: forall f k. VectorField f k => k -> f k -> f k
  • ∀v in V: one * v == v
  • ∀a b in K, v in V: a * (b .* v) = (a * b) .* v
  • ∀a b in K, v in V:
    • a .* (u + v) = a .* u + a .* v
    • (a + b) .* v = a .* v + b .* v
P purescript-vectorfield M Data.VectorField
singleton :: forall v s r g f. Cons s v () r => Lacks s () => RSingleton f g s => g s -> v -> f r
P purescript-struct M Data.Struct.Singleton
cons :: forall t a. Consable t => a -> t a -> t a
P purescript-consable M Data.Consable
cons :: forall f a. Container f => a -> f a -> f a
P purescript-logoot-core M Data.Container
fix :: forall a. (a -> a) -> a

Fixed point Y combinator

Λ a . (a → a) → a

λ f . (λ x. f (x x)) (λ x . f (x x))

P purescript-birds M Aviary.Birds
fix :: forall a. (a -> a) -> a
P purescript-combinators M Data.Combinators
functorDecorateFlipped :: forall b a f. Functor f => Decorate b a => f a -> b -> f b
P purescript-materialize M Materialize.Markup.Decorate
insert :: forall f a. Container f => Ord a => a -> f a -> f a
P purescript-logoot-core M Data.Container
invert :: forall scale domain range. Scale (scale domain range) => range -> scale domain range -> domain
P purescript-visx M VISX.Scale
option :: forall a m. Alternative m => a -> m a -> m a
P purescript-parsers M Text.Parsing.Combinators
replaceInArray :: forall a f. HasUuid a => Functor f => a -> f a -> f a
P purescript-liminal M Classes.HasUuid
scaled :: forall scale domain range. Scale (scale domain range) => domain -> scale domain range -> range
P purescript-visx M VISX.Scale
voidRight :: forall f a b. Functor f => a -> f b -> f a

Ignore the return value of a computation, using the specified return value instead.

P purescript-prelude M Data.Functor
asks :: forall r m a. MonadAsk r m => (r -> a) -> m a

Projects a value from the global context in a MonadAsk.

P purescript-transformers M Control.Monad.Reader.Class
gets :: forall s m a. MonadState s m => (s -> a) -> m a

Get a value which depends on the current state.

P purescript-transformers M Control.Monad.State.Class
mreads :: forall m s a. ReferM s m => (s -> a) -> m a
P purescript-webb-refer M Webb.State.Prelude
foldEnum :: forall a b. BoundedEnum a => Semigroup b => (a -> b) -> b

Map each element of a BoundedEnum into a semigroup, and combine the results through refold1.

P purescript-trivial-unfold M Data.Unfoldable1.Trivial1
functorDecorate :: forall b a f. Functor f => Decorate a b => a -> f b -> f a
P purescript-materialize M Materialize.Markup.Decorate
tabulate :: forall f a b. Representable f a => (a -> b) -> f b
P purescript-functor-vector M Data.Functor.Representable
flipScalarMul :: forall k f. VectorField f k => f k -> k -> f k
P purescript-vectorfield M Data.VectorField
snoc :: forall f a. Container f => f a -> a -> f a
P purescript-logoot-core M Data.Container
intercalate :: forall f m. Foldable f => Monoid m => m -> f m -> m

Fold a data structure, accumulating values in some Monoid, combining adjacent elements using the specified separator.

For example:

> intercalate ", " ["Lorem", "ipsum", "dolor"]
= "Lorem, ipsum, dolor"

> intercalate "*" ["a", "b", "c"]
= "a*b*c"

> intercalate [1] [[2, 3], [4, 5], [6, 7]]
= [2, 3, 1, 4, 5, 1, 6, 7]
P purescript-foldable-traversable M Data.Foldable
intercalate :: forall f m. Foldable1 f => Semigroup m => m -> f m -> m

Fold a data structure using a Semigroup instance, combining adjacent elements using the specified separator.

P purescript-foldable-traversable M Data.Semigroup.Foldable
surround :: forall f m. Foldable f => Semigroup m => m -> f m -> m

fold but with each element surrounded by some fixed value.

For example:

> surround "*" []
= "*"

> surround "*" ["1"]
= "*1*"

> surround "*" ["1", "2"]
= "*1*2*"

> surround "*" ["1", "2", "3"]
= "*1*2*3*"
P purescript-foldable-traversable M Data.Foldable
enumFromTo :: forall a u. Enum a => Unfoldable1 u => a -> a -> u a

Returns a contiguous sequence of elements from the first value to the second value (inclusive).

enumFromTo 0 3 = [0, 1, 2, 3]
enumFromTo 'c' 'a' = ['c', 'b', 'a']

The example shows Array return values, but the result can be any type with an Unfoldable1 instance.

P purescript-enums M Data.Enum
peek :: forall s w a. ComonadStore s w => s -> w a -> a
P purescript-transformers M Control.Comonad.Store.Class
track :: forall t w a. ComonadTraced t w => t -> w a -> a
P purescript-transformers M Control.Comonad.Traced.Class
askRunInBase :: forall b m a. MonadUnlift b m => m (m a -> b a)

A monomorphic version of askUnlift which can be more convenient when you only want to use the resulting runner function once with a concrete type.

If you run into type issues using this, try using askUnlit instead.

P purescript-unlift M Control.Monad.Unlift
buildLeaf :: forall e f p v. ElementBuilder e f p v => e -> f p -> v
P purescript-concur-core M Concur.Core.ElementBuilder
askRunBase :: forall a stM m base. MonadBaseUnlift base m stM => Applicative base => m (m a -> base a)
P purescript-monad-unlift M Control.Monad.Trans.Unlift
consMax :: forall a f. Foldable f => Ord a => a -> f a -> a
P purescript-liminal M Data.Geometry.BoundingBox
consMin :: forall a f. Foldable f => Ord a => a -> f a -> a
P purescript-liminal M Data.Geometry.BoundingBox
convertOption :: forall field from to sproxy. ConvertOption field from to => sproxy field -> from -> to
P purescript-web-fetch M Web.Fetch.Request
index :: forall f a b. Representable f a => f b -> (a -> b)
P purescript-functor-vector M Data.Functor.Representable
invokeAction :: forall m res args ctrl act. RemoteAction act ctrl args res => MonadReader Visualforce m => MonadAff m => MonadError RemoteActionError m => IsSymbol ctrl => Encode args => Decode res => act -> args -> m res

Function that invoke the action defined by referring to contraints which holds details about the correct controller to invoke. Example:

data PCMRequests = ..

data CreatePCMRequests = CreatePCMRequests

instance remoteActionCreatePCMs :: RemoteAction CreatePCMRequests "PCMMassController.createRecords" PCMRequests Unit

createPCMRequest :: Visualforce -> PCMRequests -> Aff (Either RemoteActionError Unit)
createPCMRequest vf rec =  runReaderT (runExceptT $ invokeAction CreatePCMRequests rec) vf
P purescript-sforce-remote-action M Salesforce.RemoteAction
duplicate :: forall a w. Extend w => w a -> w (w a)

Duplicate a comonadic context.

duplicate is dual to Control.Bind.join.

P purescript-control M Control.Extend
unfoldable :: forall m f a. MonadRec m => MonadGen m => Unfoldable f => m a -> m (f a)

Creates a generator that produces unfoldable structures based on an existing generator for the elements.

The size of the unfoldable will be determined by the current size state for the generator. To generate an unfoldable structure of a particular size, use the resize function from the MonadGen class first.

P purescript-gen M Control.Monad.Gen
unwrapCofree :: forall f w a. ComonadCofree f w => w a -> f (w a)
P purescript-free M Control.Comonad.Cofree.Class
fork :: forall f m a. MonadFork f m => m a -> m (f a)
P purescript-fork M Control.Monad.Fork.Class
suspend :: forall f m a. MonadFork f m => m a -> m (f a)
P purescript-fork M Control.Monad.Fork.Class
toBase :: forall b m a. MonadUnlift b m => m a -> m (b a)

Run the given action inside the base monad b.

P purescript-unlift M Control.Monad.Unlift
split :: forall f a. Applicative f => f a -> f (f a)
P purescript-merge M Data.Merge
add :: forall a. Semiring a => a -> a -> a
P purescript-prelude M Data.Semiring
append :: forall a. Semigroup a => a -> a -> a
P purescript-prelude M Data.Semigroup
conj :: forall a. HeytingAlgebra a => a -> a -> a
P purescript-prelude M Data.HeytingAlgebra
const :: forall a b. a -> b -> a

Returns its first argument and ignores its second.

const 1 "hello" = 1

It can also be thought of as creating a function that ignores its argument:

const 1 = \_ -> 1
P purescript-prelude M Data.Function
disj :: forall a. HeytingAlgebra a => a -> a -> a
P purescript-prelude M Data.HeytingAlgebra
div :: forall a. EuclideanRing a => a -> a -> a
P purescript-prelude M Data.EuclideanRing
gcd :: forall a. Eq a => EuclideanRing a => a -> a -> a

The greatest common divisor of two values.

P purescript-prelude M Data.EuclideanRing
genericAdd :: forall a rep. Generic a rep => GenericSemiring rep => a -> a -> a

A Generic implementation of the add member from the Semiring type class.

P purescript-prelude M Data.Semiring.Generic
genericAdd' :: forall a. GenericSemiring a => a -> a -> a
P purescript-prelude M Data.Semiring.Generic
genericAppend :: forall a rep. Generic a rep => GenericSemigroup rep => a -> a -> a

A Generic implementation of the append member from the Semigroup type class.

P purescript-prelude M Data.Semigroup.Generic
genericAppend' :: forall a. GenericSemigroup a => a -> a -> a
P purescript-prelude M Data.Semigroup.Generic
genericConj :: forall a rep. Generic a rep => GenericHeytingAlgebra rep => a -> a -> a

A Generic implementation of the conj member from the HeytingAlgebra type class.

P purescript-prelude M Data.HeytingAlgebra.Generic
genericConj' :: forall a. GenericHeytingAlgebra a => a -> a -> a
P purescript-prelude M Data.HeytingAlgebra.Generic
genericDisj :: forall a rep. Generic a rep => GenericHeytingAlgebra rep => a -> a -> a

A Generic implementation of the disj member from the HeytingAlgebra type class.

P purescript-prelude M Data.HeytingAlgebra.Generic
genericDisj' :: forall a. GenericHeytingAlgebra a => a -> a -> a
P purescript-prelude M Data.HeytingAlgebra.Generic
genericImplies :: forall a rep. Generic a rep => GenericHeytingAlgebra rep => a -> a -> a

A Generic implementation of the implies member from the HeytingAlgebra type class.

P purescript-prelude M Data.HeytingAlgebra.Generic
genericImplies' :: forall a. GenericHeytingAlgebra a => a -> a -> a
P purescript-prelude M Data.HeytingAlgebra.Generic
genericMul :: forall a rep. Generic a rep => GenericSemiring rep => a -> a -> a

A Generic implementation of the mul member from the Semiring type class.

P purescript-prelude M Data.Semiring.Generic
genericMul' :: forall a. GenericSemiring a => a -> a -> a
P purescript-prelude M Data.Semiring.Generic
genericSub :: forall a rep. Generic a rep => GenericRing rep => a -> a -> a

A Generic implementation of the sub member from the Ring type class.

P purescript-prelude M Data.Ring.Generic
genericSub' :: forall a. GenericRing a => a -> a -> a
P purescript-prelude M Data.Ring.Generic
implies :: forall a. HeytingAlgebra a => a -> a -> a
P purescript-prelude M Data.HeytingAlgebra
lcm :: forall a. Eq a => EuclideanRing a => a -> a -> a

The least common multiple of two values.

P purescript-prelude M Data.EuclideanRing
leftDiv :: forall a. DivisionRing a => a -> a -> a

Left division, defined as leftDiv a b = recip b * a. Left and right division are distinct in this module because a DivisionRing is not necessarily commutative.

If the type a is also a EuclideanRing, then this function is equivalent to div from the EuclideanRing class. When working abstractly, div should generally be preferred, unless you know that you need your code to work with noncommutative rings.

P purescript-prelude M Data.DivisionRing
max :: forall a. Ord a => a -> a -> a

Take the maximum of two values. If they are considered equal, the first argument is chosen.

P purescript-prelude M Data.Ord
min :: forall a. Ord a => a -> a -> a

Take the minimum of two values. If they are considered equal, the first argument is chosen.

P purescript-prelude M Data.Ord
mod :: forall a. EuclideanRing a => a -> a -> a
P purescript-prelude M Data.EuclideanRing
mul :: forall a. Semiring a => a -> a -> a
P purescript-prelude M Data.Semiring
rightDiv :: forall a. DivisionRing a => a -> a -> a

Right division, defined as rightDiv a b = a * recip b. Left and right division are distinct in this module because a DivisionRing is not necessarily commutative.

If the type a is also a EuclideanRing, then this function is equivalent to div from the EuclideanRing class. When working abstractly, div should generally be preferred, unless you know that you need your code to work with noncommutative rings.

P purescript-prelude M Data.DivisionRing
sub :: forall a. Ring a => a -> a -> a
P purescript-prelude M Data.Ring
extract :: forall w a. Comonad w => w a -> a
P purescript-control M Control.Comonad
and :: forall a f. Foldable f => HeytingAlgebra a => f a -> a

The conjunction of all the values in a data structure. When specialized to Boolean, this function will test whether all of the values in a data structure are true.

P purescript-foldable-traversable M Data.Foldable
fold :: forall f m. Foldable f => Monoid m => f m -> m

Fold a data structure, accumulating values in some Monoid.

P purescript-foldable-traversable M Data.Foldable
fold1 :: forall t m. Foldable1 t => Semigroup m => t m -> m

Fold a data structure, accumulating values in some Semigroup.

P purescript-foldable-traversable M Data.Semigroup.Foldable
length :: forall a b f. Foldable f => Semiring b => f a -> b

Returns the size/length of a finite structure. Optimized for structures that are similar to cons-lists, because there is no general way to do better.

P purescript-foldable-traversable M Data.Foldable
maximum :: forall f a. Ord a => Foldable1 f => f a -> a
P purescript-foldable-traversable M Data.Semigroup.Foldable
minimum :: forall f a. Ord a => Foldable1 f => f a -> a
P purescript-foldable-traversable M Data.Semigroup.Foldable
or :: forall a f. Foldable f => HeytingAlgebra a => f a -> a

The disjunction of all the values in a data structure. When specialized to Boolean, this function will test whether any of the values in a data structure is true.

P purescript-foldable-traversable M Data.Foldable
product :: forall a f. Foldable f => Semiring a => f a -> a

Find the product of the numeric values in a data structure.

P purescript-foldable-traversable M Data.Foldable
sum :: forall a f. Foldable f => Semiring a => f a -> a

Find the sum of the numeric values in a data structure.

P purescript-foldable-traversable M Data.Foldable
forever :: forall m a b. MonadRec m => m a -> m b

forever runs an action indefinitely, using the MonadRec instance to ensure constant stack usage.

For example:

main = forever $ trace "Hello, World!"
P purescript-tailrec M Control.Monad.Rec.Class
proof :: forall a b p. TypeEquals a b => p a -> p b
P purescript-type-equality M Type.Equality
elements :: forall m f a. MonadGen m => Foldable1 f => f a -> m a

Creates a generator that outputs a value chosen from a selection with uniform probability.

P purescript-gen M Control.Monad.Gen
coerce :: forall f a b. Contravariant f => Functor f => f a -> f b
P purescript-contravariant M Data.Functor.Contravariant
ask :: forall e w a. ComonadAsk e w => w a -> e
P purescript-transformers M Control.Comonad.Env.Class