Applicative

class fpylib.functors.applicative.Applicative(value: Optional[fpylib.types._T] = None)[source]
apply(func: fpylib.functors.functor.Functor[Callable[[fpylib.types._T], fpylib.types._S]]) fpylib.functors.functor.Functor[fpylib.types._S][source]

Apply a wrapped function to a wrapped value of the functor.

Parameters

func – A wrapped function.

Returns

A wrapped value of the functor.

fpylib.functors.applicative.apply(func: fpylib.functors.functor.Functor[Callable[[fpylib.types._T], fpylib.types._S]], ft: fpylib.functors.functor.Functor[fpylib.types._T]) fpylib.functors.functor.Functor[fpylib.types._S][source]

This the function applicative to a functor that wraps a function and a functor.

Parameters
  • func – Functor[Callable[[T], S]]

  • ft – Functor[T]

Returns

Functor[S]

fpylib.functors.applicative.lift_a2(func: Callable[[fpylib.types._T, fpylib.types._T], fpylib.types._S], f1: fpylib.functors.functor.Functor[fpylib.types._T], f2: fpylib.functors.functor.Functor[fpylib.types._T]) fpylib.functors.functor.Functor[fpylib.types._S][source]

This is the version Pythonic to liftA2 from Haskell.

Parameters
  • func – Callable[[T, T], S]

  • f1 – Functor[T]

  • f2 – Functor[T]

Returns

Functor[S]