Packages

sealed abstract class FreeAp[F[_], A] extends AnyRef

Free applicative functors. Less expressive than free monads, but more flexible to inspect and interpret.

Source
FreeAp.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FreeAp
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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. def analyze[M](f: ~>[F, [α]M])(implicit arg0: Monoid[M]): M

    Performs a monoidal analysis over this free program.

    Performs a monoidal analysis over this free program. Maps the effects in F to values in the monoid M, discarding the values of those effects. Example:

    def count[F[_],B](p: FreeAp[F,B]): Int =
      p.analyze(new (F ~> λ[α => Int]) {
        def apply[A](a: F[A]) = 1
      })
  5. def ap[B](f: FreeAp[F, (A) ⇒ B]): FreeAp[F, B]

    Idiomatic function application

  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. def foldMap[G[_]](f: ~>[F, G])(implicit arg0: Applicative[G]): G[A]

    The canonical natural transformation that interprets this free program by giving it the semantics of the applicative functor G.

    The canonical natural transformation that interprets this free program by giving it the semantics of the applicative functor G. Not tail-recursive unless G is a free monad.

  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hoist[G[_]](f: ~>[F, G]): FreeAp[G, A]

    The natural transformation from FreeAp[F,_] to FreeAp[G,_]

  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. def map[B](f: (A) ⇒ B): FreeAp[F, B]

    Append a function to the end of this program

  17. def monadic: Free[F, A]

    Embeds this program in the free monad on F.

  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. def para[B](pure: (A) ⇒ B, ap: ~>[[α](F[α], FreeAp[F, (α) ⇒ A]), [α]B]): B

    Provides access to the first instruction of this program, if present

  22. def retract(implicit F: Applicative[F]): F[A]

    Interprets this free F program using the semantics of the Applicative instance for F.

  23. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped