scalaz

Cofree

sealed abstract class Cofree[S[_], A] extends AnyRef

A cofree comonad for some functor S, i.e. an S-branching stream.

Source
Cofree.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Cofree
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Cofree()

Abstract Value Members

  1. abstract def applyCofree[B](f: (A) ⇒ B, g: (Cofree[S, A]) ⇒ Cofree[S, B])(implicit S: Functor[S]): Cofree[S, B]

    Applies f to the head and g through the tail.

  2. abstract def head: A

  3. abstract def t: Free[Function0, S[Cofree[S, A]]]

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def =>>[B](f: (Cofree[S, A]) ⇒ B)(implicit S: Functor[S]): Cofree[S, B]

    Alias for extend

  7. final def applyTail[B](b: B, g: (Cofree[S, A]) ⇒ Cofree[S, B])(implicit S: Functor[S]): Cofree[S, B]

    Replaces the head with b and applies g through the tail.

  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. final def copure: A

    Alias for head, for compatibility with Scalaz 6

  11. final def duplicate(implicit S: Functor[S]): Cofree[S, Cofree[S, A]]

    Redecorates the structure with values representing entire substructures.

  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  14. final def extend[B](f: (Cofree[S, A]) ⇒ B)(implicit S: Functor[S]): Cofree[S, B]

    Redecorates this structure with a computation whose context is the entire structure under that value.

  15. final def extract: A

    Alias for head, for compatibility with Scalaz 6

  16. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  19. final def inject[B](b: B)(implicit S: Functor[S]): Cofree[S, B]

    Injects a constant value into this structure.

  20. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  21. final def map[B](f: (A) ⇒ B)(implicit S: Functor[S]): Cofree[S, B]

  22. final def mapBranching[T[_]](f: ~>[S, T])(implicit S: Functor[S], T: Functor[T]): Cofree[T, A]

    Changes the branching functor by the given natural transformation.

  23. final def mapFirstBranching(f: ~>[S, S]): Cofree[S, A]

    Modifies the first branching with the given natural transformation.

  24. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  25. final def notify(): Unit

    Definition Classes
    AnyRef
  26. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  27. final def out: S[Cofree[S, A]]

    Alias for tail, for compatibility with Scalaz 6

  28. def scanr[B](g: (A, S[Cofree[S, B]]) ⇒ B)(implicit S: Functor[S]): Cofree[S, B]

    Folds over this cofree structure, returning all the intermediate values in a new structure.

  29. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  30. def tail: S[Cofree[S, A]]

  31. final def toPair: (A, S[Cofree[S, A]])

    Returns the components of this structure in a tuple.

  32. def toString(): String

    Definition Classes
    AnyRef → Any
  33. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. final def zap[G[_], B](fs: Free[G, (A) ⇒ B])(implicit S: Functor[S], G: Functor[G], d: Zap[S, G]): B

    Applies a function in a monad to the corresponding value in this comonad, annihilating both.

  37. final def zapWith[G[_], B, C](bs: Free[G, B])(f: (A, B) ⇒ C)(implicit S: Functor[S], G: Functor[G], d: Zap[S, G]): C

    Applies a function f to a value in this comonad and a corresponding value in the dual monad, annihilating both.

Inherited from AnyRef

Inherited from Any

Ungrouped