t

scalaz

# IsomorphismSemiLattice 

#### trait IsomorphismSemiLattice[F, G] extends SemiLattice[F] with IsomorphismBand[F, G]

Source
Isomorphism.scala
Linear Supertypes
Ordering
1. Alphabetic
2. By Inheritance
Inherited
1. IsomorphismSemiLattice
2. IsomorphismBand
3. IsomorphismSemigroup
4. SemiLattice
5. Band
6. Semigroup
7. AnyRef
8. Any
1. Hide All
2. Show All
Visibility
1. Public
2. All

### Type Members

1. trait BandLaw extends SemigroupLaw

Band instances must satisfy scalaz.Semigroup.SemigroupLaw and 1 additional law:

Band instances must satisfy scalaz.Semigroup.SemigroupLaw and 1 additional law:

• idempotency: `forall a. append(a, a) == a`
Definition Classes
Band
2. trait SemiLatticeLaw extends BandLaw
Definition Classes
SemiLattice
3. trait SemigroupApply extends Apply[[α]F]
Attributes
protected[this]
Definition Classes
Semigroup
4. trait SemigroupCompose extends Compose[[α, β]F]
Attributes
protected[this]
Definition Classes
Semigroup
5. trait SemigroupLaw extends AnyRef

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 in `F`. This is enforced by the type system.
• associativity: `∀ a, b, c` in `F`, the equation `append(append(a, b), c) = append(a, append(b , c))` holds.
Definition Classes
Semigroup

### Abstract Value Members

1. implicit abstract def G: SemiLattice[G]
2. abstract def iso: Isomorphism.<=>[F, G]
Definition Classes
IsomorphismSemigroup

### Concrete Value Members

1. final def !=(arg0: Any)
Definition Classes
AnyRef → Any
2. final def ##(): Int
Definition Classes
AnyRef → Any
3. final def ==(arg0: Any)
Definition Classes
AnyRef → Any
4. def append(f1: F, f2: ⇒ F): F

The binary operation to combine `f1` and `f2`.

The binary operation to combine `f1` and `f2`.

Implementations should not evaluate the by-name parameter `f2` if result can be determined by `f1`.

Definition Classes
IsomorphismSemigroupSemigroup
5. final def apply: Apply[[α]F]

An scalaz.Apply, that implements `ap` with `append`.

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.

Definition Classes
Semigroup
6. final def asInstanceOf[T0]: T0
Definition Classes
Any
7. def bandLaw
Definition Classes
Band
8. val bandSyntax: BandSyntax[F]
Definition Classes
Band
9. def clone()
Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@native() @throws( ... )
10. final def compose: Compose[[α, β]F]

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.

Definition Classes
Semigroup
Note

`compose.semigroup` = `this`

11. final def eq(arg0: AnyRef)
Definition Classes
AnyRef
12. def equals(arg0: Any)
Definition Classes
AnyRef → Any
13. def finalize(): Unit
Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
14. final def getClass(): Class[_]
Definition Classes
AnyRef → Any
Annotations
@native()
15. def hashCode(): Int
Definition Classes
AnyRef → Any
Annotations
@native()
16. final def isInstanceOf[T0]
Definition Classes
Any
17. def multiply1(value: F, n: Int): F

The default definition exploits idempotency to optimise to `O(1)`

The default definition exploits idempotency to optimise to `O(1)`

Definition Classes
BandSemigroup
18. final def ne(arg0: AnyRef)
Definition Classes
AnyRef
19. final def notify(): Unit
Definition Classes
AnyRef
Annotations
@native()
20. final def notifyAll(): Unit
Definition Classes
AnyRef
Annotations
@native()
21. def semiLatticeLaw
Definition Classes
SemiLattice
22. val semiLatticeSyntax
Definition Classes
SemiLattice
23. def semigroupLaw
Definition Classes
Semigroup
24. val semigroupSyntax: SemigroupSyntax[F]
Definition Classes
Semigroup
25. final def synchronized[T0](arg0: ⇒ T0): T0
Definition Classes
AnyRef
26. def toString()
Definition Classes
AnyRef → Any
27. final def wait(): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
28. final def wait(arg0: Long, arg1: Int): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
29. final def wait(arg0: Long): Unit
Definition Classes
AnyRef
Annotations
@native() @throws( ... )