Class/Object

scalaz

Cofree

Related Docs: object Cofree | package scalaz

Permalink

case class Cofree[S[+_], +A](head: A, tail: S[Cofree[S, A]])(implicit S: Functor[S]) extends Product with Serializable

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

Source
Cofree.scala
Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Cofree
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Cofree(head: A, tail: S[Cofree[S, A]])(implicit S: Functor[S])

    Permalink

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): Cofree[S, B]

    Permalink

    Alias for extend

  5. final def applyCofree[B](f: (A) ⇒ B, g: (Cofree[S, A]) ⇒ Cofree[S, B]): Cofree[S, B]

    Permalink

    Applies f to the head and g through the tail.

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

    Permalink

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

  7. final def asInstanceOf[T0]: T0

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

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

    Permalink

    Alias for head, for compatibility with Scalaz 6

  10. final def duplicate: Cofree[S, Cofree[S, A]]

    Permalink

    Redecorates the structure with values representing entire substructures.

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

    Permalink
    Definition Classes
    AnyRef
  12. final def extend[B](f: (Cofree[S, A]) ⇒ B): 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. val head: A

    Permalink
  17. final def inject[B](b: B): 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): Cofree[S, B]

    Permalink
  20. final def mapBranching[T[+_]](f: ~>[S, T])(implicit arg0: 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): 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. val 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. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. 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.

  34. 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 Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped