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

final class Succ[N <: Nat] extends Nat

Represents a successor in the peano encoding of natural numbers

Author:

Harshad Deo

N

Peano-type to which this is a successor

Since

0.1

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Succ
  2. Nat
  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

Instance Constructors

  1. new Succ()

Type Members

  1. type Compare[M <: Nat] = Compare.M.Match[N.Compare, GT, Comparison]

    Compares with the other peano number

    Compares with the other peano number

    Author:

    Harshad Deo

    Definition Classes
    SuccNat
    Since

    0.1

  2. type FoldL[Init <: Type, Type, F <: Fold[Nat, Type]] = N.FoldL[FoldL.F.Apply[Succ[N], Init], Type, F]

    Typelevel FoldLeft

    Typelevel FoldLeft

    Author:

    Harshad Deo

    Definition Classes
    SuccNat
    Since

    0.1

  3. type FoldR[Init <: Type, Type, F <: Fold[Nat, Type]] = FoldR.F.Apply[Succ[N], N.FoldR[Init, Type, F]]

    Typelevel FoldRight

    Typelevel FoldRight

    Author:

    Harshad Deo

    Definition Classes
    SuccNat
    Since

    0.1

  4. type Match[NonZero[M <: Nat] <: Up, IfZero <: Up, Up] = NonZero[N]

    Typeconstructor for querying whether this is zero or not

    Typeconstructor for querying whether this is zero or not

    Author:

    Harshad Deo

    Definition Classes
    SuccNat
    Since

    0.1

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 Succ[N] toany2stringadd[Succ[N]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Succ[N], B)
    Implicit
    This member is added by an implicit conversion from Succ[N] toArrowAssoc[Succ[N]] 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: (Succ[N]) => Boolean, msg: => Any): Succ[N]
    Implicit
    This member is added by an implicit conversion from Succ[N] toEnsuring[Succ[N]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  9. def ensuring(cond: (Succ[N]) => Boolean): Succ[N]
    Implicit
    This member is added by an implicit conversion from Succ[N] toEnsuring[Succ[N]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: Boolean, msg: => Any): Succ[N]
    Implicit
    This member is added by an implicit conversion from Succ[N] toEnsuring[Succ[N]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean): Succ[N]
    Implicit
    This member is added by an implicit conversion from Succ[N] toEnsuring[Succ[N]] 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 Succ[N] toStringFormat[Succ[N]] 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): (Succ[N], B)
    Implicit
    This member is added by an implicit conversion from Succ[N] toArrowAssoc[Succ[N]] 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 Nat

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromSucc[N] to any2stringadd[Succ[N]]

Inherited by implicit conversion StringFormat fromSucc[N] to StringFormat[Succ[N]]

Inherited by implicit conversion Ensuring fromSucc[N] to Ensuring[Succ[N]]

Inherited by implicit conversion ArrowAssoc fromSucc[N] to ArrowAssoc[Succ[N]]

Ungrouped