litter

package litter

Type members

Classlikes

trait BoundedZeroSemilattice[@specialized(Int, Long, Float, Double) A] extends BoundedSemilattice[A] with ZeroSemilattice[A] with CommutativeZeroMonoid[A]

Bounded zero semilattices are bounded semilattices with an absorbing element that satisfies combine(x, absorbing) == combine(absorbing, x) == absorbing.

Bounded zero semilattices are bounded semilattices with an absorbing element that satisfies combine(x, absorbing) == combine(absorbing, x) == absorbing.

Companion
object
trait CommutativeZeroGroup[@specialized(Int, Long, Float, Double) A] extends ZeroGroup[A] with CommutativeGroup[A] with CommutativeZeroMonoid[A]

A commutative zero group is a commutative group with an absorbing element that satisfies combine(x, absorbing) == combine(absorbing, x) == absorbing.

A commutative zero group is a commutative group with an absorbing element that satisfies combine(x, absorbing) == combine(absorbing, x) == absorbing.

Companion
object
trait CommutativeZeroMonoid[@specialized(Int, Long, Float, Double) A] extends ZeroMonoid[A] with CommutativeMonoid[A] with CommutativeZeroSemigroup[A]

CommutativeZeroMonoid represents a commutative zero monoid.

CommutativeZeroMonoid represents a commutative zero monoid.

A zero monoid is commutative if for all x and y, x |+| y === y |+| x.

Companion
object
trait CommutativeZeroSemigroup[@specialized(Int, Long, Float, Double) A] extends ZeroSemigroup[A] with CommutativeSemigroup[A]

CommutativeZeroSemigroup represents a commutative zero semigroup.

CommutativeZeroSemigroup represents a commutative zero semigroup.

A zero semigroup is commutative if for all x and y, x |+| y === y |+| x.

Companion
object
trait ZeroBand[@specialized(Int, Long, Float, Double) A] extends Band[A] with ZeroSemigroup[A]

Zero bands are bands with an absorbing element that satisfies combine(x, absorbing) == combine(absorbing, x) == absorbing.

Zero bands are bands with an absorbing element that satisfies combine(x, absorbing) == combine(absorbing, x) == absorbing.

Companion
object
object ZeroBand extends ZeroSemigroupFunctions[[A] =>> ZeroBand[A]]
Companion
class
trait ZeroGroup[@specialized(Int, Long, Float, Double) A] extends Group[A] with ZeroMonoid[A]

A group with an absorbing element.

A group with an absorbing element.

Companion
object
object ZeroGroup extends ZeroGroupFunctions[[A] =>> ZeroGroup[A]]
Companion
class
trait ZeroGroupFunctions[G <: ([T] =>> ZeroGroup[T])] extends ZeroMonoidFunctions[G]
trait ZeroMonoid[@specialized(Int, Long, Float, Double) A] extends Monoid[A] with ZeroSemigroup[A]

A monoid with an absorbing element.

A monoid with an absorbing element.

Companion
object
object ZeroMonoid extends ZeroMonoidFunctions[[A] =>> ZeroMonoid[A]]
Companion
class
trait ZeroMonoidFunctions[M <: ([T] =>> ZeroMonoid[T])] extends MonoidFunctions[M] with ZeroSemigroupFunctions[M]
trait ZeroSemigroup[@specialized(Int, Long, Float, Double) A] extends Semigroup[A]

A zero semigroup is a semigroup with an absorbing element. A zero semigroup is a specialization of a semigroup, so its operation must be associative. Additionally, combine(x, absorbing) == combine(absorbing, x) == absorbing. For example, if we have ZeroSemigroup[Int], with combine as integer multiplication, then absorbing == 0.

A zero semigroup is a semigroup with an absorbing element. A zero semigroup is a specialization of a semigroup, so its operation must be associative. Additionally, combine(x, absorbing) == combine(absorbing, x) == absorbing. For example, if we have ZeroSemigroup[Int], with combine as integer multiplication, then absorbing == 0.

Companion
object
Companion
class
trait ZeroSemigroupFunctions[S <: ([T] =>> ZeroSemigroup[T])] extends SemigroupFunctions[S]
trait ZeroSemilattice[@specialized(Int, Long, Float, Double) A] extends Semilattice[A] with ZeroBand[A] with CommutativeZeroSemigroup[A]

Zero semilattices are semilattices with an absorbing element that satisfies combine(x, absorbing) == combine(absorbing, x) == absorbing.

Zero semilattices are semilattices with an absorbing element that satisfies combine(x, absorbing) == combine(absorbing, x) == absorbing.

Companion
object
trait ZeroSemilatticeFunctions[S <: ([T] =>> ZeroSemilattice[T])] extends SemilatticeFunctions[S] with ZeroSemigroupFunctions[S]