ImplicitConversions
trait ImplicitConversions
This object contains implicit conversions that come in handy when using the ^^ combinator.
Refer to scala.util.parsing.combinator.Parsers to construct an AST from the concrete syntax.
The reason for this is that the sequential composition combinator (~) combines its constituents
into a ~. When several ~s are combined, this results in nested ~s (to the left).
The flatten* coercions makes it easy to apply an n-argument function to a nested ~ of
depth n-1
The headOptionTailToFunList converts a function that takes a List[A] to a function that
accepts a ~[A, Option[List[A]]] (this happens when parsing something of the following
shape: p ~ opt("." ~ repsep(p, ".")) -- where p is a parser that yields an A).
Implicits
Implicits
implicit def flatten5[A, B, C, D, E, F](f: (A, B, C, D, E) => F): A <none> B <none> C <none> D <none> E => F