IsomorphismSemigroup
Type members
Inherited classlikes
A semigroup in type F must satisfy two laws:
A semigroup in type F must satisfy two laws:
- '''closure''':
∀ a, b in F, append(a, b)
is also inF
. This is enforced by the type system. - '''associativity''':
∀ a, b, c
inF
, the equationappend(append(a, b), c) = append(a, append(b , c))
holds.
- Inherited from
- Semigroup
Value members
Concrete methods
Inherited methods
An scalaz.Apply, that implements ap
with append
. Note
that the type parameter α
in Apply[λ[α => F]]
is
discarded; it is a phantom type. As such, the functor cannot
support scalaz.Bind.
An scalaz.Apply, that implements ap
with append
. Note
that the type parameter α
in Apply[λ[α => F]]
is
discarded; it is a phantom type. As such, the functor cannot
support scalaz.Bind.
- Inherited from
- Semigroup
Every Semigroup
gives rise to a scalaz.Compose, for which
the type parameters are phantoms.
Every Semigroup
gives rise to a scalaz.Compose, for which
the type parameters are phantoms.
- Note
compose.semigroup
=this
- Inherited from
- Semigroup
Unfold seed
to the left and sum using append.
Semigroups with right absorbing elements may override this method
to not unfold more than is necessary to determine the result.
Unfold seed
to the right and sum using append.
Semigroups with left absorbing elements may override this method
to not unfold more than is necessary to determine the result.