Class Callables

java.lang.Object
fj.control.parallel.Callables

public final class Callables extends Object
Monadic functions and conversion methods for java.util.concurrent.Callable.
Version:
%build.number%
  • Constructor Details

    • Callables

      private Callables()
  • Method Details

    • callable

      public static <A> Callable<A> callable(A a)
      Returns a callable that completely preserves the argument. The unit function for Callables.
      Parameters:
      a - A value to preserve in a Callable
      Returns:
      A Callable that yields the argument when called.
    • callable

      public static <A> Callable<A> callable(Exception e)
      Returns a callable that throws the given exception. The unit function for Callables.
      Parameters:
      e - The exception to throw when the Callable is called.
      Returns:
      A callable that always throws the given exception.
    • callable

      public static <A> F<A,Callable<A>> callable()
      Provides a transformation from a value to a Callable that completely preserves that value.
      Returns:
      A function from a value to a Callable that completely preserves that value.
    • callable

      public static <A, B> F<A,Callable<B>> callable(F<A,B> f)
      Wraps a given function's return value in a Callable. The Kleisli arrow for Callables.
      Parameters:
      f - The function whose return value to wrap in a Callable.
      Returns:
      The equivalent function whose return value is wrapped in a Callable.
    • arrow

      public static <A, B> F<F<A,B>,F<A,Callable<B>>> arrow()
      Provides a transformation from a function to a Callable-valued function that is equivalent to it. The first-class Kleisli arrow for Callables.
      Returns:
      A transformation from a function to the equivalent Callable-valued function.
    • bind

      public static <A, B> Callable<B> bind(Callable<A> a, F<A,Callable<B>> f)
      Binds the given function to the value in a Callable with a final join.
      Parameters:
      a - A value in a Callable to which to apply a function.
      f - A function to apply to the value in a Callable.
      Returns:
      The result of applying the function in the second argument to the value of the Callable in the first.
    • fmap

      public static <A, B> F<Callable<A>,Callable<B>> fmap(F<A,B> f)
      Lifts any function to a function on Callables.
      Parameters:
      f - A function to lift to a function on Callables.
      Returns:
      That function lifted to a function on Callables.
    • apply

      public static <A, B> Callable<B> apply(Callable<A> ca, Callable<F<A,B>> cf)
      Performs function application within a callable (applicative functor pattern).
      Parameters:
      ca - The callable to which to apply a function.
      cf - The callable function to apply.
      Returns:
      A new callable after applying the given callable function to the first argument.
    • bind

      public static <A, B, C> Callable<C> bind(Callable<A> ca, Callable<B> cb, F<A,F<B,C>> f)
      Binds the given function to the values in the given callables with a final join.
      Parameters:
      ca - A given callable to bind the given function with.
      cb - A given callable to bind the given function with.
      f - The function to apply to the values in the given callables.
      Returns:
      A new callable after performing the map, then final join.
    • join

      public static <A> Callable<A> join(Callable<Callable<A>> a)
      Joins a Callable of a Callable with a bind operation.
      Parameters:
      a - The Callable of a Callable to join.
      Returns:
      A new Callable that is the join of the given Callable.
    • liftM2

      public static <A, B, C> F<Callable<A>,F<Callable<B>,Callable<C>>> liftM2(F<A,F<B,C>> f)
      Promotes a function of arity-2 to a function on callables.
      Parameters:
      f - The function to promote.
      Returns:
      A function of arity-2 promoted to map over callables.
    • sequence

      public static <A> Callable<List<A>> sequence(List<Callable<A>> as)
      Turns a List of Callables into a single Callable of a List.
      Parameters:
      as - The list of callables to transform.
      Returns:
      A single callable for the given List.
    • sequence_

      public static <A> F<List<Callable<A>>,Callable<List<A>>> sequence_()
      A first-class version of the sequence method.
      Returns:
      A function from a List of Callables to a single Callable of a List.
    • option

      public static <A> P1<Option<A>> option(Callable<A> a)
      Turns the given Callable into an optional value.
      Parameters:
      a - The callable to convert to an optional value.
      Returns:
      An optional value that yields the value in the Callable, or None if the Callable fails.
    • option

      public static <A> F<Callable<A>,P1<Option<A>>> option()
      Returns a transformation from a Callable to an optional value.
      Returns:
      a function that turns a Callable into an optional value.
    • either

      public static <A> P1<Either<Exception,A>> either(Callable<A> a)
      Turns the given Callable into either an exception or the value in the Callable.
      Parameters:
      a - The callable to convert to an Either value.
      Returns:
      Either the value in the given Callable, or the Exception with which the Callable fails.
    • either

      public static <A> F<Callable<A>,P1<Either<Exception,A>>> either()
      Returns a transformation from a Callable to an Either.
      Returns:
      a function that turns a Callable into an Either.
    • fromEither

      public static <A> Callable<A> fromEither(F0<Either<Exception,A>> e)
      Turns a given Either value into the equivalent Callable.
      Parameters:
      e - Either an exception or a value to wrap in a Callable
      Returns:
      A Callable equivalent to the given Either value.
    • fromEither

      public static <A> F<P1<Either<Exception,A>>,Callable<A>> fromEither()
      Returns a transformation from an Either to a Callable.
      Returns:
      a function that turns an Either into a Callable.
    • fromOption

      public static <A> Callable<A> fromOption(F0<Option<A>> o)
      Turns an optional value into a Callable.
      Parameters:
      o - An optional value to turn into a Callable.
      Returns:
      A Callable that yields some value or throws an exception in the case of no value.
    • fromOption

      public static <A> F<P1<Option<A>>,Callable<A>> fromOption()
      Returns a transformation from an optional value to a Callable
      Returns:
      A function that turns an optional value into a Callable that yields some value or throws an exception in the case of no value.
    • normalise

      public static <A> Callable<A> normalise(Callable<A> a)
      Normalises the given Callable by calling it and wrapping the result in a new Callable. If the given Callable throws an Exception, the resulting Callable will throw that same Exception.
      Parameters:
      a - The callable to evaluate.
      Returns:
      A normalised callable that just returns the result of calling the given callable.
    • normalise

      public static <A> F<Callable<A>,Callable<A>> normalise()
      A first-class version of the normalise function.
      Returns:
      A function that normalises the given Callable by calling it and wrapping the result in a new Callable.