Search results

fromMaybe :: forall a. a -> Maybe a -> a

Takes a default value, and a Maybe value. If the Maybe value is Nothing the default value is returned, otherwise the value inside the Just is returned.

fromMaybe x Nothing == x
fromMaybe x (Just y) == y
P purescript-maybe M Data.Maybe
withDefault :: forall a. a -> Maybe a -> a

If the given value is Nothing, return the default. Otherwise return the value.

withDefault 2 Nothing -- 2
withDefault 2 (Just 1) -- 1
P purescript-neon M Neon.Helper
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
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
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
buildLeaf :: forall e f p v. ElementBuilder e f p v => e -> f p -> v
P purescript-concur-core M Concur.Core.ElementBuilder
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
call :: forall s. IsString s => Monoid s => s -> s -> s

Syntax for CSS function call.

P purescript-css M CSS.Common
ract :: forall g s. RightAction g s => s -> g -> s
P purescript-group M Data.Group.Action
maddL :: forall x r. LeftModule x r => x -> x -> x
P purescript-modules M Data.Ring.Module
maddR :: forall x r. RightModule x r => x -> x -> x
P purescript-modules M Data.Ring.Module
mmulR :: forall x r. RightModule x r => x -> r -> x
P purescript-modules M Data.Ring.Module
msubL :: forall x r. LeftModule x r => x -> x -> x
P purescript-modules M Data.Ring.Module
msubR :: forall x r. RightModule x r => x -> x -> x
P purescript-modules M Data.Ring.Module
bindTo :: forall f o. f -> o -> f
P purescript-ffi-simple M FFI.Simple.Functions
defaultUndef :: forall a. a -> a -> a
P purescript-ffi-simple M FFI.Simple.Undef
join :: forall a. JoinSemilattice a => a -> a -> a
P purescript-lattice M Data.Lattice
meet :: forall a. MeetSemilattice a => a -> a -> a
P purescript-lattice M Data.Lattice
pathAppend :: forall m. XPathLike m => m -> m -> m

Put a path seperator between two XPaths and return the resulting XPath.

P purescript-xpath-like M Data.XPath
pathAppendNSx :: forall m. XPathLike m => m -> m -> m

Useful variant of pathAppend needed for some XPath implementations; insert a separator with a dummy namespace ("x") for the second XPath fragment. For example: root /? "record" /? "identifier" == "/x:record/x:identifier".

P purescript-xpath-like M Data.XPath
and :: forall a. Binary a => a -> a -> a
P purescript-binary M Data.Binary
join :: forall a. JoinSemilattice a => a -> a -> a
P purescript-colehaus-lattice M Data.Lattice
maddL :: forall x r. LeftModule x r => x -> x -> x
P purescript-ring-modules M Data.Ring.Module
maddR :: forall x r. RightModule x r => x -> x -> x
P purescript-ring-modules M Data.Ring.Module
meet :: forall a. MeetSemilattice a => a -> a -> a
P purescript-colehaus-lattice M Data.Lattice
mmulR :: forall x r. RightModule x r => x -> r -> x
P purescript-ring-modules M Data.Ring.Module
msubL :: forall x r. LeftModule x r => x -> x -> x
P purescript-ring-modules M Data.Ring.Module
msubR :: forall x r. RightModule x r => x -> x -> x
P purescript-ring-modules M Data.Ring.Module
nand :: forall α. HeytingAlgebra α => α -> α -> α
P purescript-unicode-prelude M Data.HeytingAlgebra.Unicode
nor :: forall α. HeytingAlgebra α => α -> α -> α
P purescript-unicode-prelude M Data.HeytingAlgebra.Unicode
or :: forall a. Binary a => a -> a -> a
P purescript-binary M Data.Binary
patch :: forall a d. Patch a d => a -> d -> a
P purescript-incremental-functions M Data.Incremental
reciprocal :: forall n n1 n2 a r. Add n2 1 n1 => Add n1 1 n => Arity a n => Divisible r => Eq r => EuclideanRing r => Leadable r => Ord r => Pad n2 (Polynomial r) a => Peel r r => Unpad n2 (Polynomial r) a => a -> a -> a

Computes the reciprocal of the first polynomial in the extension whose minimal polynomial is provided by the second polynomial

P purescript-numberfield M Data.Algebraic.NumberField
xor :: forall a. Binary a => a -> a -> a
P purescript-binary M Data.Binary
xor :: forall a. HeytingAlgebra a => a -> a -> a
P purescript-boolean-eq M Data.BooleanEq
xor :: forall α. HeytingAlgebra α => α -> α -> α
P purescript-unicode-prelude M Data.HeytingAlgebra.Unicode
_add :: forall a. HasAdd a => a -> a -> a
P purescript-neon M Neon.Operator
_and :: forall a. HasAnd a => a -> a -> a
P purescript-neon M Neon.Operator
_divide :: forall a. HasDivide a => a -> a -> a
P purescript-neon M Neon.Operator
_multiply :: forall a. HasMultiply a => a -> a -> a
P purescript-neon M Neon.Operator
_or :: forall a. HasOr a => a -> a -> a
P purescript-neon M Neon.Operator
_power :: forall a. HasPower a => a -> a -> a
P purescript-neon M Neon.Operator
_remainder :: forall a. HasRemainder a => a -> a -> a
P purescript-neon M Neon.Operator
_subtract :: forall a. HasSubtract a => a -> a -> a
P purescript-neon M Neon.Operator
add :: forall a. HasAdd a => a -> a -> a
P purescript-neon M Neon.Class.HasAdd
always :: forall b a. a -> b -> a

Always returns the first argument.

"anything" :always 1 -- 1

This is the constant function.

P purescript-neon M Neon.Primitive.Function
and :: forall a. HasAnd a => a -> a -> a
P purescript-neon M Neon.Class.HasAnd
asTypeOf :: forall a. a -> a -> a

A type-restricted version of always.

[] :asTypeOf [1] -- [] :: Array Int
P purescript-neon M Neon.Helper
decorate :: forall a b. Decorate a b => a -> b -> a
P purescript-materialize M Materialize.Markup.Decorate
divide :: forall a. HasDivide a => a -> a -> a
P purescript-neon M Neon.Class.HasDivide
getAllArgs :: forall all given. OptArgs all given => all -> given -> all
P purescript-interactive-data M InteractiveData.Core.Classes.OptArgs
kestrel :: forall b a. a -> b -> a

K combinator - kestrel

K

Λ a b . a → b → a

λ x y . x

P purescript-birds M Aviary.Birds
max :: forall a. HasGreater a => a -> a -> a

Returns the greater value.

max 1 2 -- 2
max 2 1 -- 2
P purescript-neon M Neon.Helper
maxByOrder :: forall a. Ord a => a -> a -> a
P purescript-liminal M Data.Geometry.BoundingBox
min :: forall a. HasLess a => a -> a -> a

Returns the lesser value.

min 1 2 -- 1
min 2 1 -- 1
P purescript-neon M Neon.Helper
minByOrder :: forall a. Ord a => a -> a -> a
P purescript-liminal M Data.Geometry.BoundingBox
multiply :: forall a. HasMultiply a => a -> a -> a
P purescript-neon M Neon.Class.HasMultiply
or :: forall a. HasOr a => a -> a -> a
P purescript-neon M Neon.Class.HasOr
or :: forall a. Bitwise a => a -> a -> a
P purescript-webgpu M Web.GPU.Internal.Bitwise
plus :: forall a b. Summable a b => a -> b -> a
P purescript-canvas-geometry M Graphics.Canvas.Geometry
plus :: forall a b. Summable a b => a -> b -> a
P purescript-geometry-plane M Data.Geometry.Plane
power :: forall a. HasPower a => a -> a -> a
P purescript-neon M Neon.Class.HasPower
remainder :: forall a. HasRemainder a => a -> a -> a
P purescript-neon M Neon.Class.HasRemainder
scale :: forall a. Space a => a -> (a -> a)
P purescript-dual-numbers M Data.Number.Dual
subtract :: forall a. HasSubtract a => a -> a -> a
P purescript-neon M Neon.Class.HasSubtract
withAttribute :: forall a b. HasAttribute a b => a -> b -> a

Add an attribute to element node

P purescript-bonsai M Bonsai.Html.Internal
sans :: forall m a b. At m a b => a -> m -> m
P purescript-profunctor-lenses M Data.Lens.At
add :: forall x y z. Add x y z => x -> y -> z
P purescript-typelevel M Data.Typelevel.Num.Ops
and :: forall b1 b2 b3. And b1 b2 b3 => b1 -> b2 -> b3
P purescript-typelevel M Data.Typelevel.Bool
div :: forall x y z. Div x y z => x -> y -> z
P purescript-typelevel M Data.Typelevel.Num.Ops
eq :: forall b1 b2 b3. Eq b1 b2 b3 => b1 -> b2 -> b3
P purescript-typelevel M Data.Typelevel.Bool
gcd :: forall x y z. GCD x y z => x -> y -> z
P purescript-typelevel M Data.Typelevel.Num.Ops
imp :: forall b1 b2 b3. Imp b1 b2 b3 => b1 -> b2 -> b3
P purescript-typelevel M Data.Typelevel.Bool
max :: forall x y z. Max x y z => x -> y -> z
P purescript-typelevel M Data.Typelevel.Num.Ops
min :: forall x y z. Min x y z => x -> y -> z
P purescript-typelevel M Data.Typelevel.Num.Ops
mod :: forall x y r. Mod x y r => x -> y -> r
P purescript-typelevel M Data.Typelevel.Num.Ops
mul :: forall x y z. Mul x y z => x -> y -> z
P purescript-typelevel M Data.Typelevel.Num.Ops
or :: forall b1 b2 b3. Or b1 b2 b3 => b1 -> b2 -> b3
P purescript-typelevel M Data.Typelevel.Bool
sub :: forall x y z. Sub x y z => x -> y -> z
P purescript-typelevel M Data.Typelevel.Num.Ops
trich :: forall x y r. Trich x y r => x -> y -> r
P purescript-typelevel M Data.Typelevel.Num.Ops
xor :: forall b1 b2 b3. Xor b1 b2 b3 => b1 -> b2 -> b3
P purescript-typelevel M Data.Typelevel.Bool
hmap :: forall f a b. HMap f a b => f -> a -> b
P purescript-heterogeneous M Heterogeneous.Mapping
hmapWithIndex :: forall f a b. HMapWithIndex f a b => f -> a -> b
P purescript-heterogeneous M Heterogeneous.Mapping
mapping :: forall f a b. Mapping f a b => f -> a -> b
P purescript-heterogeneous M Heterogeneous.Mapping
reduce :: forall f i o. Reducible f i o => f -> i -> o
P purescript-untagged-union M Untagged.Union
lact :: forall g s. LeftAction g s => g -> s -> s
P purescript-group M Data.Group.Action
convertOptions :: forall t i o. ConvertOptions t i o => t -> i -> o
P purescript-convertable-options M ConvertableOptions
defaults :: forall defaults provided all. Defaults defaults provided all => defaults -> provided -> all
P purescript-convertable-options M ConvertableOptions
mmulL :: forall x r. LeftModule x r => r -> x -> x
P purescript-modules M Data.Ring.Module
new :: forall f a o. f -> a -> o

Call new on the function with an array or pseudoarray of arguments

P purescript-ffi-simple M FFI.Simple.Functions
dot :: forall p n. ToPos n p => Semiring n => p -> p -> n

Get the dot product of two vectors

P purescript-polymorphic-vectors M Data.Vector.Polymorphic
mapProduct :: forall mp a b. MapProduct mp a b => mp -> a -> b
P purescript-classless M Classless
putInsideMod :: forall r p n. ToRegion n r => AsPosEndo n p => EuclideanRing n => r -> p -> p

Put a position inside a region by using the modulus operator

P purescript-polymorphic-vectors M Data.Vector.Polymorphic
act :: forall m s. Action m s => m -> s -> s

Convert a value of type @m@ to an action on @s@ values.

P purescript-monoid-extras M Data.Monoid.Action
at :: forall c k r. Monoid r => Lookup c k r => c -> k -> r

This simple helper works on any Lookup instance where the return type is a Monoid, and is the same as lookup except that it returns a t instead of a Maybe t. If lookup would return Nothing, then at returns mempty.

P purescript-httpure M HTTPure.Lookup
at :: forall c k r. Monoid r => Lookup c k r => c -> k -> r

This simple helper works on any Lookup instance where the return type is a Monoid, and is the same as lookup except that it returns a t instead of a Maybe t. If lookup would return Nothing, then at returns mempty.

P purescript-httpurple M HTTPurple.Lookup
setCtx :: forall props' props ctx. WithContextProps props' props ctx => ctx -> props' -> props
P purescript-react-hocs M ReactHocs.Class
adjacentSibling :: forall a b c. IsExtensibleSelector a => ToVal a => Combine b c => a -> b -> c
P purescript-tecton M Tecton.Internal
child :: forall a b c. IsExtensibleSelector a => ToVal a => Combine b c => a -> b -> c
P purescript-tecton M Tecton.Internal
dbg :: forall s a. Show s => s -> a -> a
P purescript-binary M Debug
descendant :: forall a b c. IsExtensibleSelector a => ToVal a => Combine b c => a -> b -> c
P purescript-tecton M Tecton.Internal
diff :: forall a d. Diff a d => a -> a -> d
P purescript-incremental-functions M Data.Incremental
generalSibling :: forall a b c. IsExtensibleSelector a => ToVal a => Combine b c => a -> b -> c
P purescript-tecton M Tecton.Internal
mmulL :: forall x r. LeftModule x r => r -> x -> x
P purescript-ring-modules M Data.Ring.Module
pursxStringAnonymous :: forall accumulator next res. PursxStringAnonymous accumulator next res => accumulator -> next -> res
P purescript-deku M Deku.Pursx.Anonymous
pursxValAnonymous :: forall accumulator next res. PursxValAnonymous accumulator next res => accumulator -> next -> res
P purescript-deku M Deku.Pursx.Anonymous
set :: forall s t a b @sym lenses. IsSymbol sym => ParseSymbol sym lenses => ConstructBarlow lenses Function s t a b => b -> s -> t
P purescript-barlow-lens M Data.Lens.Barlow.Helpers
add :: forall a b c r. Arith a b c r => a -> b -> c
P purescript-z3 M Z3
and :: forall a b r. LogicalMatcher a b r => a -> b -> r
P purescript-pmock M Test.PMock.Param
bind :: forall a g f. f -> a -> g
P purescript-ffi-utils M FFI.Util.Function
cons :: forall a b r. ConsGen a b r => a -> b -> r
P purescript-pmock M Test.PMock.Param
decorateFlipped :: forall b a. Decorate b a => a -> b -> b
P purescript-materialize M Materialize.Markup.Decorate
diff' :: forall changed model. Diff changed model => changed -> (model -> model)
P purescript-flame M Flame.Application.Effectful
div :: forall a b c r. Arith a b c r => a -> b -> c
P purescript-z3 M Z3
dot :: forall p g f. Dottable p g f => p -> g -> f
P purescript-functor-vector M Data.Dottable
fold :: forall stepper a fold. Fold stepper a fold => stepper -> a -> fold
P purescript-record-fold M Data.Record.Fold
from :: forall f q fields sql. ToFrom f q fields => Resume q (From f fields E) sql => f -> q -> sql

FROM accepts the following sources

  • Tables
  • Inner and outer joins
  • Aliased tables
  • Aliased SELECT statements

Due to how SQL binding works, joins and subqueries require brackets to be parsed correctly. For example:

  • SELECT column FROM (SELECT column FROM table) AS alias should be select column # from (select column # from table # as alias))
  • SELECT column FROM table alias JOIN other_table other_alias should be select column # from ((table # as alias)join(other_table # as other_alias)))

To aid composition, SELECT projections are only validated on FROM

P purescript-droplet M Droplet.Language.Internal.Syntax