interpreter<F> method

Function1<Free<Either<First, Second>, dynamic>, F> interpreter<F>(
  1. Monad<F> M,
  2. F firstInterpreter(
    1. First first
    ),
  3. F secondInterpreter(
    1. Second second
    )
)

Implementation

Function1<Free<Either<First, Second>, dynamic>, F> interpreter<F>(Monad<F> M, F firstInterpreter(First first), F secondInterpreter(Second second)) {
  final interpreter = composeInterpreters(firstInterpreter, secondInterpreter);
  return (fa) => fa.foldMap(M, interpreter);
}