- def bind[A, B](m: Parser[E, A])(f: A => Parser[E, B])
- = implicitly[Monad[({type λ[α] = Parser[E, α]})#λ]].bind(m)(f)
-
- def handleError[A](m: Parser[E, A])(f: E => Parser[E, A]) = new Parser[E, A] {
- def runParser[F[_, _], R](kf: Failure[F, E, R], ks: Success[A, F, E, R]): F[E, R] = {
- def kf_(e: E) = f(e).runParser(kf, ks)
+ def handleError[A](m: Parser[A])(f: String => Parser[A]) = new Parser[A] {
+ def runParser[F[_], R](kf: Failure[F, R], ks: Success[A, F, R]): F[R] = {
+ def kf_(e: String) = f(e).runParser(kf, ks)