Class Alter<A>

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

public final class Alter<A> extends Object implements Fn2<Fn1<? super A, ? extends IO<?>>, A, IO<A>>
Given an Effect<A> and some A, produce an IO that, when run, performs the effect on A and returns it.
  • Field Details

    • INSTANCE

      private static final Alter<?> INSTANCE
  • Constructor Details

    • Alter

      private Alter()
  • Method Details

    • checkedApply

      public IO<A> checkedApply(Fn1<? super A, ? extends IO<?>> effect, A a)
      Specified by:
      checkedApply in interface Fn2<Fn1<? super A, ? extends IO<?>>, A, IO<A>>
    • alter

      public static <A> Alter<A> alter()
    • alter

      public static <A> Fn1<A,IO<A>> alter(Effect<? super A> effect)
    • alter

      public static <A> IO<A> alter(Effect<? super A> effect, A a)