Class/Object

scalaz

Cofree

Related Docs: object Cofree | package scalaz

Permalink

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
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Cofree
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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]

    Permalink

    Applies f to the head and g through the tail.

  2. abstract def head: A

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

    Permalink

Concrete Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

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

    Permalink

    Alias for extend

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

    Permalink

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

  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

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

    Permalink

    Alias for head, for compatibility with Scalaz 6

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

    Permalink

    Redecorates the structure with values representing entire substructures.

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

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

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

    Permalink

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

  13. final def extract: A

    Permalink

    Alias for head, for compatibility with Scalaz 6

  14. def finalize(): Unit

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

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

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

    Permalink

    Injects a constant value into this structure.

  18. final def isInstanceOf[T0]: Boolean

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

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

    Permalink

    Changes the branching functor by the given natural transformation.

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

    Permalink

    Modifies the first branching with the given natural transformation.

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

    Permalink
    Definition Classes
    AnyRef
  23. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit

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

    Permalink

    Alias for tail, for compatibility with Scalaz 6

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

    Permalink

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

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

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

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

    Permalink

    Returns the components of this structure in a tuple.

  30. def toString(): String

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

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

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

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

    Permalink

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

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

    Permalink

    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