trait Function1Monoid[A, R] extends Monoid[(A) ⇒ R] with Function1Semigroup[A, R]
- Source
- Function.scala
- Alphabetic
- By Inheritance
- Function1Monoid
- Function1Semigroup
- Monoid
- Semigroup
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
MonoidLaw
extends SemigroupLaw
Monoid instances must satisfy scalaz.Semigroup.SemigroupLaw and 2 additional laws:
Monoid instances must satisfy scalaz.Semigroup.SemigroupLaw and 2 additional laws:
- left identity:
forall a. append(zero, a) == a
- right identity :
forall a. append(a, zero) == a
- Definition Classes
- Monoid
- left identity:
-
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 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.
- Definition Classes
- Semigroup
- closure:
Abstract Value Members
-
implicit abstract
def
R: Monoid[R]
- Definition Classes
- Function1Monoid → Function1Semigroup
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
append(f1: (A) ⇒ R, f2: ⇒ (A) ⇒ R): (A) ⇒ R
The binary operation to combine
f1
andf2
.The binary operation to combine
f1
andf2
.Implementations should not evaluate the by-name parameter
f2
if result can be determined byf1
.- Definition Classes
- Function1Semigroup → Semigroup
-
final
def
applicative: Applicative[[α](A) ⇒ R]
A monoidal applicative functor, that implements
point
andap
with the operationszero
andappend
respectively.A monoidal applicative functor, that implements
point
andap
with the operationszero
andappend
respectively. Note that the type parameterα
inApplicative[({type λ[α]=F})#λ]
is discarded; it is a phantom type. As such, the functor cannot support scalaz.Bind.- Definition Classes
- Monoid
-
final
def
apply: Apply[[α](A) ⇒ R]
An scalaz.Apply, that implements
ap
withappend
.An scalaz.Apply, that implements
ap
withappend
. Note that the type parameterα
inApply[({type λ[α]=F})#λ]
is discarded; it is a phantom type. As such, the functor cannot support scalaz.Bind.- Definition Classes
- Semigroup
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
final
def
category: Category[[α, β](A) ⇒ R]
Every
Monoid
gives rise to a scalaz.Category, for which the type parameters are phantoms.Every
Monoid
gives rise to a scalaz.Category, for which the type parameters are phantoms.- Definition Classes
- Monoid
- Note
category.monoid
=this
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
compose: Compose[[α, β](A) ⇒ R]
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
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
ifEmpty[B](a: (A) ⇒ R)(t: ⇒ B)(f: ⇒ B)(implicit eq: Equal[(A) ⇒ R]): B
- Definition Classes
- Monoid
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isMZero(a: (A) ⇒ R)(implicit eq: Equal[(A) ⇒ R]): Boolean
Whether
a
==zero
.Whether
a
==zero
.- Definition Classes
- Monoid
-
def
monoidLaw: MonoidLaw
- Definition Classes
- Monoid
-
val
monoidSyntax: MonoidSyntax[(A) ⇒ R]
- Definition Classes
- Monoid
-
def
multiply(value: (A) ⇒ R, n: Int): (A) ⇒ R
For
n = 0
,zero
Forn = 1
,append(zero, value)
Forn = 2
,append(append(zero, value), value)
For
n = 0
,zero
Forn = 1
,append(zero, value)
Forn = 2
,append(append(zero, value), value)
- Definition Classes
- Monoid
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
onEmpty[A, B](a: (A) ⇒ R)(v: ⇒ B)(implicit eq: Equal[(A) ⇒ R], mb: Monoid[B]): B
- Definition Classes
- Monoid
-
final
def
onNotEmpty[B](a: (A) ⇒ R)(v: ⇒ B)(implicit eq: Equal[(A) ⇒ R], mb: Monoid[B]): B
- Definition Classes
- Monoid
-
def
semigroupLaw: SemigroupLaw
- Definition Classes
- Semigroup
-
val
semigroupSyntax: SemigroupSyntax[(A) ⇒ R]
- Definition Classes
- Semigroup
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
zero: (A) ⇒ R
The identity element for
append
.The identity element for
append
.- Definition Classes
- Function1Monoid → Monoid