java.lang.Object
com.jnape.palatable.lambda.functions.builtin.fn2.$<A,B>
Type Parameters:
A - the applied Fn1's input type
B - the applied Fn1's output type
All Implemented Interfaces:
Fn1<Fn1<? super A,? extends B>,Fn1<A,B>>, Fn2<Fn1<? super A,? extends B>,A,B>, Applicative<Fn1<A,B>,Fn1<Fn1<? super A,? extends B>,?>>, Cartesian<Fn1<? super A,? extends B>,Fn1<A,B>,Fn1<?,?>>, Cocartesian<Fn1<? super A,? extends B>,Fn1<A,B>,Fn1<?,?>>, Contravariant<Fn1<? super A,? extends B>,Profunctor<?,Fn1<A,B>,Fn1<?,?>>>, Functor<Fn1<A,B>,Fn1<Fn1<? super A,? extends B>,?>>, Profunctor<Fn1<? super A,? extends B>,Fn1<A,B>,Fn1<?,?>>, Monad<Fn1<A,B>,Fn1<Fn1<? super A,? extends B>,?>>, MonadReader<Fn1<? super A,? extends B>,Fn1<A,B>,Fn1<Fn1<? super A,? extends B>,?>>, MonadRec<Fn1<A,B>,Fn1<Fn1<? super A,? extends B>,?>>, MonadWriter<Fn1<? super A,? extends B>,Fn1<A,B>,Fn1<Fn1<? super A,? extends B>,?>>

public final class $<A,B> extends Object implements Fn2<Fn1<? super A,? extends B>,A,B>
Function application, represented as a higher-order Fn2 that receives an Fn1 and its argument, and applies it. Useful for treating application as a combinator, e.g.:
 
 List<Fn1<Integer, Integer>> fns     = asList(x -> x + 1, x -> x, x -> x - 1);
 List<Integer>               args    = asList(0, 1, 2);
 Iterable<Integer>           results = zipWith($(), fns, args); // [1, 1, 1]
 
 
  • Field Details

    • INSTANCE

      private static final $<?,?> INSTANCE
  • Constructor Details

    • $

      private $()
  • Method Details

    • checkedApply

      public B checkedApply(Fn1<? super A,? extends B> fn, A a)
      Specified by:
      checkedApply in interface Fn2<Fn1<? super A,? extends B>,A,B>
    • $

      public static <A, B> $<A,B> $()
    • $

      public static <A, B> Fn1<A,B> $(Fn1<? super A,? extends B> fn)
    • $

      public static <A, B> B $(Fn1<? super A,? extends B> fn, A a)