Packages

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]

    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: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def =>>[B](f: (Cofree[S, A]) ⇒ B)(implicit S: Functor[S]): Cofree[S, B]

    Alias for extend

  5. 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.

  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. final def copure: A

    Alias for head, for compatibility with Scalaz 6

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

    Redecorates the structure with values representing entire substructures.

  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. 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.

  13. final def extract: A

    Alias for head, for compatibility with Scalaz 6

  14. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. final def inject[B](b: B)(implicit S: Functor[S]): Cofree[S, B]

    Injects a constant value into this structure.

  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. final def map[B](f: (A) ⇒ B)(implicit S: Functor[S]): Cofree[S, B]
  20. 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.

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

    Changes the branching functor with the given natural transformation, using the target branching functor's fmap.

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

    Modifies the first branching with the given natural transformation.

  23. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  26. final def out: S[Cofree[S, A]]

    Alias for tail, for compatibility with Scalaz 6

  27. 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.

  28. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  29. def tail: S[Cofree[S, A]]
  30. final def toPair: (A, S[Cofree[S, A]])

    Returns the components of this structure in a tuple.

  31. def toString(): String
    Definition Classes
    AnyRef → Any
  32. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  35. final def zap[G[_], B](fs: Free[G, (A) ⇒ B])(implicit G: Functor[G], d: Zap[S, G]): B

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

  36. final def zapWith[G[_], B, C](bs: Free[G, B])(f: (A, B) ⇒ C)(implicit 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