case class~[+a, +b](_1: a, _2: b) extends Product with Serializable
A wrapper over sequence of matches.
Given p1: Parser[A] and p2: Parser[B], a parser composed with
p1 ~ p2 will have type Parser[~[A, B]]. The successful result
of the parser can be extracted from this case class.
It also enables pattern matching, so something like this is possible:
def concat(p1: Parser[String], p2: Parser[String]): Parser[String] =
p1 ~ p2 ^^ { case a ~ b => a + b }
Linear Supertypes
Serializable, java.io.Serializable, Product, Equals, AnyRef, Any
A wrapper over sequence of matches.
Given
p1: Parser[A]
andp2: Parser[B]
, a parser composed withp1 ~ p2
will have typeParser[~[A, B]]
. The successful result of the parser can be extracted from this case class.It also enables pattern matching, so something like this is possible: