Packages

  • package root
    Definition Classes
    root
  • package typequux
    Definition Classes
    root
  • object Nat

    Contains implementation traits for Nat and typeconstructor aliases that make usage more pleasant.

    Contains implementation traits for Nat and typeconstructor aliases that make usage more pleasant.

    1. Additive commutativity: +[A, B] =:= +[B, A]

    2. Additive associativity: +[A, +[B, C]] =:= +[+[A, B], C]

    3. Additive identity: +[A, _0] =:= A =:= +[_0, A]

    4. Multiplicative commutativity: *[A, B] =:= *[B, A]

    5. Multiplicative associativity: *[A, *[B, C]] =:= *[*[A, B], C]

    6. Multiplicative identity: *[A, _1] =:= A =:= *[_1, A]

    7. Distributivity: *[A, +[B, C]] =:= +[*[A, B], *[A, C]]

    8. Zero exponent: ^[A, _0] =:= _1

    9. One exponent: ^[_1, A] =:= _1

    10. Exponent Identity: ^[A, _1] =:= A

    11. Total Order

    Author:

    Harshad Deo

    Definition Classes
    typequux
    Since

    0.1

  • ExpFold
  • IncFold
  • Nat0
  • NatRep
  • ProdFold
  • Succ
  • SumFold
t

typequux.Nat

ProdFold

trait ProdFold extends Fold[Nat, Nat]

Fold to compute the product

Author:

Harshad Deo

Since

0.1

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ProdFold
  2. Fold
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type Apply[N <: Nat, Acc <: Nat] = Apply.N.FoldR[_0, Nat, SumFold[Acc]]

    Typelevel Fold

    Typelevel Fold

    Author:

    Harshad Deo

    Definition Classes
    ProdFoldFold
    Since

    0.1

Abstract Value Members

  1. abstract def apply[N <: Nat, Acc <: Nat](n: N, acc: Acc): Apply[N, Acc]

    Valuelevel fold

    Valuelevel fold

    Author:

    Harshad Deo

    Definition Classes
    Fold
    Since

    0.1

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from ProdFold toany2stringadd[ProdFold] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (ProdFold, B)
    Implicit
    This member is added by an implicit conversion from ProdFold toArrowAssoc[ProdFold] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. def ensuring(cond: (ProdFold) => Boolean, msg: => Any): ProdFold
    Implicit
    This member is added by an implicit conversion from ProdFold toEnsuring[ProdFold] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  9. def ensuring(cond: (ProdFold) => Boolean): ProdFold
    Implicit
    This member is added by an implicit conversion from ProdFold toEnsuring[ProdFold] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: Boolean, msg: => Any): ProdFold
    Implicit
    This member is added by an implicit conversion from ProdFold toEnsuring[ProdFold] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean): ProdFold
    Implicit
    This member is added by an implicit conversion from ProdFold toEnsuring[ProdFold] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  14. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from ProdFold toStringFormat[ProdFold] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

  2. def [B](y: B): (ProdFold, B)
    Implicit
    This member is added by an implicit conversion from ProdFold toArrowAssoc[ProdFold] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from Fold[Nat, Nat]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromProdFold to any2stringadd[ProdFold]

Inherited by implicit conversion StringFormat fromProdFold to StringFormat[ProdFold]

Inherited by implicit conversion Ensuring fromProdFold to Ensuring[ProdFold]

Inherited by implicit conversion ArrowAssoc fromProdFold to ArrowAssoc[ProdFold]

Ungrouped