Search results

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 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 prelude M Control.Monad
map :: forall f a b. Functor f => (a -> b) -> f a -> f b
P 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 foldable-traversable M Data.FunctorWithIndex
cmap :: forall f a b. Contravariant f => (b -> a) -> f a -> f b
P contravariant M Data.Functor.Contravariant
censor :: forall w m a. MonadWriter w m => (w -> w) -> m a -> m a

Modify the final accumulator value by applying a function.

P transformers M Control.Monad.Writer.Class
local :: forall e w a. ComonadEnv e w => (e -> e) -> w a -> w a
P transformers M Control.Comonad.Env.Class
local :: forall m r a. MonadReader r m => (r -> r) -> m a -> m a
P 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 transformers M Control.Comonad.Store.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 prelude M Control.Apply
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 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 foldable-traversable M Data.Foldable
foldMap :: forall f a m. Foldable f => Monoid m => (a -> m) -> f a -> m
P foldable-traversable M Data.Foldable
foldMap1 :: forall t a m. Foldable1 t => Semigroup m => (a -> m) -> t a -> m
P foldable-traversable M Data.Semigroup.Foldable
foldMap1Default :: forall t m a. Warn (Text "\'foldMap1Default\' is deprecated, use \'foldMap1DefaultL\' instead") => Foldable1 t => Functor t => Semigroup m => (a -> m) -> t a -> m

Deprecated previous name of foldMap1DefaultL.

P 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 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 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 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 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 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 transformers M Control.Comonad.Traced.Class
asks :: forall e1 e2 w a. ComonadAsk e1 w => (e1 -> e2) -> w a -> e2

Get a value which depends on the environment.

P transformers M Control.Comonad.Env.Class
alt :: forall f a. Alt f => f a -> f a -> f a
P 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 gen M Control.Monad.Gen
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 prelude M Control.Apply
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 transformers M Control.Comonad.Store.Class
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 prelude M Data.Functor
seek :: forall s a w. ComonadStore s w => s -> w a -> w a

Reposition the focus at the specified position.

P transformers M Control.Comonad.Store.Class
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 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 newtype M Data.Newtype
voidLeft :: forall f a b. Functor f => f a -> b -> f b

A version of voidRight with its arguments flipped.

P prelude M Data.Functor
duplicate :: forall a w. Extend w => w a -> w (w a)

Duplicate a comonadic context.

duplicate is dual to Control.Bind.join.

P control M Control.Extend
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 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 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 foldable-traversable M Data.Foldable
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 gen M Control.Monad.Gen
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 enums M Data.Enum
asks :: forall r m a. MonadAsk r m => (r -> a) -> m a

Projects a value from the global context in a MonadAsk.

P 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 transformers M Control.Monad.State.Class
peek :: forall s w a. ComonadStore s w => s -> w a -> a
P transformers M Control.Comonad.Store.Class
track :: forall t w a. ComonadTraced t w => t -> w a -> a
P transformers M Control.Comonad.Traced.Class
unwrapCofree :: forall f w a. ComonadCofree f w => w a -> f (w a)
P free M Control.Comonad.Cofree.Class
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 control M Control.Lazy
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 transformers M Control.Monad.State.Class
add :: forall a. Semiring a => a -> a -> a
P prelude M Data.Semiring
append :: forall a. Semigroup a => a -> a -> a
P prelude M Data.Semigroup
conj :: forall a. HeytingAlgebra a => a -> a -> a
P 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 prelude M Data.Function
disj :: forall a. HeytingAlgebra a => a -> a -> a
P prelude M Data.HeytingAlgebra
div :: forall a. EuclideanRing a => a -> a -> a
P prelude M Data.EuclideanRing
gcd :: forall a. Eq a => EuclideanRing a => a -> a -> a

The greatest common divisor of two values.

P 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 prelude M Data.Semiring.Generic
genericAdd' :: forall a. GenericSemiring a => a -> a -> a
P 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 prelude M Data.Semigroup.Generic
genericAppend' :: forall a. GenericSemigroup a => a -> a -> a
P 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 prelude M Data.HeytingAlgebra.Generic
genericConj' :: forall a. GenericHeytingAlgebra a => a -> a -> a
P 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 prelude M Data.HeytingAlgebra.Generic
genericDisj' :: forall a. GenericHeytingAlgebra a => a -> a -> a
P 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 prelude M Data.HeytingAlgebra.Generic
genericImplies' :: forall a. GenericHeytingAlgebra a => a -> a -> a
P 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 prelude M Data.Semiring.Generic
genericMul' :: forall a. GenericSemiring a => a -> a -> a
P 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 prelude M Data.Ring.Generic
genericSub' :: forall a. GenericRing a => a -> a -> a
P prelude M Data.Ring.Generic
implies :: forall a. HeytingAlgebra a => a -> a -> a
P prelude M Data.HeytingAlgebra
lcm :: forall a. Eq a => EuclideanRing a => a -> a -> a

The least common multiple of two values.

P 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 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 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 prelude M Data.Ord
mod :: forall a. EuclideanRing a => a -> a -> a
P prelude M Data.EuclideanRing
mul :: forall a. Semiring a => a -> a -> a
P 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 prelude M Data.DivisionRing
sub :: forall a. Ring a => a -> a -> a
P prelude M Data.Ring
extract :: forall w a. Comonad w => w a -> a
P control M Control.Comonad
proof :: forall a b p. TypeEquals a b => p a -> p b
P type-equality M Type.Equality
coerce :: forall f a b. Contravariant f => Functor f => f a -> f b
P contravariant M Data.Functor.Contravariant
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 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 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 foldable-traversable M Data.Semigroup.Foldable
inj :: forall f g a. Inject f g => f a -> g a
P functors M Data.Functor.Coproduct.Inject
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 foldable-traversable M Data.Foldable
maximum :: forall f a. Ord a => Foldable1 f => f a -> a
P foldable-traversable M Data.Semigroup.Foldable
minimum :: forall f a. Ord a => Foldable1 f => f a -> a
P 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 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 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 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 tailrec M Control.Monad.Rec.Class
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 gen M Control.Monad.Gen
ask :: forall e w a. ComonadAsk e w => w a -> e
P transformers M Control.Comonad.Env.Class
cleared :: forall f a b. Filterable f => f a -> f b

Filter out all values.

P filterable M Data.Filterable
pos :: forall s w a. ComonadStore s w => w a -> s
P transformers M Control.Comonad.Store.Class
convertOptions :: forall i o t. ConvertOptions t i o => t -> i -> o
P convertable-options M ConvertableOptions
defaults :: forall all defaults provided. Defaults defaults provided all => defaults -> provided -> all
P convertable-options M ConvertableOptions
hmap :: forall a b f. HMap f a b => f -> a -> b
P heterogeneous M Heterogeneous.Mapping
hmapWithIndex :: forall a b f. HMapWithIndex f a b => f -> a -> b
P heterogeneous M Heterogeneous.Mapping
mapping :: forall a b f. Mapping f a b => f -> a -> b
P heterogeneous M Heterogeneous.Mapping
addNextEvent :: forall builder event. SupportsNextEvent builder event => event -> builder -> builder
P erl-pinto M Pinto.GenStatem
genericAdd :: forall rep a. Generic a rep => GenericSemiring rep => a -> a -> a

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

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

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

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

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

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

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

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

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

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

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

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

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

P generics-rep M Data.Generic.Rep.Ring
genericSub' :: forall a. GenericRing a => a -> a -> a
P generics-rep M Data.Generic.Rep.Ring
abs :: forall a. Ord a => Ring a => a -> a

The absolute value function. abs x is defined as if x >= zero then x else negate x.

P prelude M Data.Ord
from :: forall a rep. Generic a rep => a -> rep
P prelude M Data.Generic.Rep
genericNot :: forall a rep. Generic a rep => GenericHeytingAlgebra rep => a -> a

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

P prelude M Data.HeytingAlgebra.Generic
genericNot' :: forall a. GenericHeytingAlgebra a => a -> a
P prelude M Data.HeytingAlgebra.Generic
negate :: forall a. Ring a => a -> a

negate x can be used as a shorthand for zero - x.

P prelude M Data.Ring
not :: forall a. HeytingAlgebra a => a -> a
P prelude M Data.HeytingAlgebra
pure :: forall f a. Applicative f => a -> f a
P prelude M Control.Applicative
recip :: forall a. DivisionRing a => a -> a
P prelude M Data.DivisionRing
signum :: forall a. Ord a => Ring a => a -> a

The sign function; always evaluates to either one or negate one. For any x, we should have signum x * abs x == x.

P prelude M Data.Ord
to :: forall a rep. Generic a rep => rep -> a
P prelude M Data.Generic.Rep
unsafeCoerce :: forall a b. a -> b

A highly unsafe function, which can be used to persuade the type system that any type is the same as any other type. When using this function, it is your (that is, the caller's) responsibility to ensure that the underlying representation for both types is the same.

Because this function is extraordinarily flexible, type inference can greatly suffer. It is highly recommended to define specializations of this function rather than using it as-is. For example:

fromBoolean :: Boolean -> Json
fromBoolean = unsafeCoerce

This way, you won't have any nasty surprises due to the inferred type being different to what you expected.

After the v0.14.0 PureScript release, some of what was accomplished via unsafeCoerce can now be accomplished via coerce from purescript-safe-coerce. See that library's documentation for more context.

P unsafe-coerce M Unsafe.Coerce
coerce :: forall a b. Coercible a b => a -> b

Coerce a value of one type to a value of some other type, without changing its runtime representation. This function behaves identically to unsafeCoerce at runtime. Unlike unsafeCoerce, it is safe, because the Coercible constraint prevents any use of this function from compiling unless the compiler can prove that the two types have the same runtime representation.

One application for this function is to avoid doing work that you know is a no-op because of newtypes. For example, if you have an Array (Conj a) and you want an Array (Disj a), you could do Data.Array.map (un Conj >>> Disj), but this performs an unnecessary traversal of the array, with O(n) cost. coerce accomplishes the same with only O(1) cost:

mapConjToDisj :: forall a. Array (Conj a) -> Array (Disj a)
mapConjToDisj = coerce
P safe-coerce M Safe.Coerce
unwrap :: forall t a. Newtype t a => t -> a
P newtype M Data.Newtype
wrap :: forall t a. Newtype t a => a -> t
P newtype M Data.Newtype
from :: forall a b. TypeEquals a b => b -> a
P type-equality M Type.Equality
to :: forall a b. TypeEquals a b => a -> b
P type-equality M Type.Equality
inj :: forall a b. Inject a b => a -> b
P either M Data.Either.Inject
unsafePartial :: forall a. (Partial => a) -> a

Discharge a partiality constraint, unsafely.

P partial M Partial.Unsafe
singleton :: forall f a. Unfoldable1 f => a -> f a

Contain a single value. For example:

singleton "foo" == (NEL.singleton "foo" :: NEL.NonEmptyList String)
P unfoldable M Data.Unfoldable1
downFrom :: forall a u. Enum a => Unfoldable u => a -> u a

Produces all predecessors of an Enum value, excluding the start value.

P enums M Data.Enum
downFromIncluding :: forall a u. Enum a => Unfoldable1 u => a -> u a

Produces all predecessors of an Enum value, including the start value.

downFromIncluding top will return all values in an Enum, in reverse order.

P enums M Data.Enum
upFrom :: forall a u. Enum a => Unfoldable u => a -> u a

Produces all successors of an Enum value, excluding the start value.

P enums M Data.Enum
upFromIncluding :: forall a u. Enum a => Unfoldable1 u => a -> u a

Produces all successors of an Enum value, including the start value.

upFromIncluding bottom will return all values in an Enum.

P enums M Data.Enum
throwError :: forall e m a. MonadThrow e m => e -> m a
P transformers M Control.Monad.Error.Class
convertDuration :: forall a b. Duration a => Duration b => a -> b

Converts directly between durations of differing types.

P datetime M Data.Time.Duration
negateDuration :: forall a. Duration a => a -> a

Negates a duration, turning a positive duration negative or a negative duration positive.

P datetime M Data.Time.Duration
export :: forall a b. ExportsTo a b => a -> b
P erl-pinto M Pinto.Types
from :: forall a rep. Generic a rep => a -> rep
P generics-rep M Data.Generic.Rep
genericNot :: forall rep a. Generic a rep => GenericHeytingAlgebra rep => a -> a

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

P generics-rep M Data.Generic.Rep.HeytingAlgebra
genericNot' :: forall a. GenericHeytingAlgebra a => a -> a
P generics-rep M Data.Generic.Rep.HeytingAlgebra
getStateId :: forall state stateId. HasStateId stateId state => state -> stateId
P erl-pinto M Pinto.GenStatem
to :: forall a rep. Generic a rep => rep -> a
P generics-rep M Data.Generic.Rep
bottom :: forall a. Bounded a => a
P prelude M Data.Bounded
ff :: forall a. HeytingAlgebra a => a
P prelude M Data.HeytingAlgebra
genericBottom :: forall a rep. Generic a rep => GenericBottom rep => a

A Generic implementation of the bottom member from the Bounded type class.

P prelude M Data.Bounded.Generic
genericBottom' :: forall a. GenericBottom a => a
P prelude M Data.Bounded.Generic
genericFF :: forall a rep. Generic a rep => GenericHeytingAlgebra rep => a

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

P prelude M Data.HeytingAlgebra.Generic
genericFF' :: forall a. GenericHeytingAlgebra a => a
P prelude M Data.HeytingAlgebra.Generic