ap

parsley.ap
object ap

This module contains ap1 through ap22, which allow for the application of a parser returning a function of arity N to N parsers.

The combinators contained in this module all sequence a number of parsers together, but are capable of combining the results generated by these parsers into a single value with a function of the correct arity produced by the first parser. This is a clean way of putting together multiple parsers and getting a meaningful result out.

Attributes

Since

4.0.0

Example

scala> import parsley.character.char
scala> import parsley.ap.{ap2, ap3}
scala> case class Add(x: Int, y: Int)
scala> val p = ap2(pure(Add), char('a').as(4), char('b').as(5))
scala> p.parse("ab")
val res0 = Success(Add(4, 5))
scala> val q = ap3(pure((x: Int, y: Int, z: Int) => x * y + z), char('a').as(3), char('b').as(2), char('c').as(5))
scala> q.parse("abc")
val res1 = Success(11)
scala> q.parse("ab")
val res2 = Failure(..)
Source
ap.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
ap.type

Members list

Value members

Inherited methods

final def ap1[T1, R](pf: Parsley[T1 => R], p1: => Parsley[T1]): Parsley[R]

This combinator allows the function that results from one parser to be applied to the result of another parser.

This combinator allows the function that results from one parser to be applied to the result of another parser.

Effectively alias for <*>, to be consistent with the other ap variants.

Value parameters

pf

the parser whose result is a function to map across the result of p1.

px

the second parser to perform.

Attributes

Returns

a parser that applies the function f resulting from pf to the result x of the parser p1.

Inherited from:
ap (hidden)
Source
ap.scala
final def ap10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9], p10: => Parsley[T10]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp ten.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9], p10: => Parsley[T10], p11: => Parsley[T11]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp eleven.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9], p10: => Parsley[T10], p11: => Parsley[T11], p12: => Parsley[T12]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp twelve.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9], p10: => Parsley[T10], p11: => Parsley[T11], p12: => Parsley[T12], p13: => Parsley[T13]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp thirteen.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9], p10: => Parsley[T10], p11: => Parsley[T11], p12: => Parsley[T12], p13: => Parsley[T13], p14: => Parsley[T14]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp fourteen.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9], p10: => Parsley[T10], p11: => Parsley[T11], p12: => Parsley[T12], p13: => Parsley[T13], p14: => Parsley[T14], p15: => Parsley[T15]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp fifteen.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9], p10: => Parsley[T10], p11: => Parsley[T11], p12: => Parsley[T12], p13: => Parsley[T13], p14: => Parsley[T14], p15: => Parsley[T15], p16: => Parsley[T16]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp sixteen.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9], p10: => Parsley[T10], p11: => Parsley[T11], p12: => Parsley[T12], p13: => Parsley[T13], p14: => Parsley[T14], p15: => Parsley[T15], p16: => Parsley[T16], p17: => Parsley[T17]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp seventeen.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9], p10: => Parsley[T10], p11: => Parsley[T11], p12: => Parsley[T12], p13: => Parsley[T13], p14: => Parsley[T14], p15: => Parsley[T15], p16: => Parsley[T16], p17: => Parsley[T17], p18: => Parsley[T18]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp eighteen.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9], p10: => Parsley[T10], p11: => Parsley[T11], p12: => Parsley[T12], p13: => Parsley[T13], p14: => Parsley[T14], p15: => Parsley[T15], p16: => Parsley[T16], p17: => Parsley[T17], p18: => Parsley[T18], p19: => Parsley[T19]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp nineteen.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap2[T1, T2, R](pf: Parsley[(T1, T2) => R], p1: => Parsley[T1], p2: => Parsley[T2]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp two.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9], p10: => Parsley[T10], p11: => Parsley[T11], p12: => Parsley[T12], p13: => Parsley[T13], p14: => Parsley[T14], p15: => Parsley[T15], p16: => Parsley[T16], p17: => Parsley[T17], p18: => Parsley[T18], p19: => Parsley[T19], p20: => Parsley[T20]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp twenty.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9], p10: => Parsley[T10], p11: => Parsley[T11], p12: => Parsley[T12], p13: => Parsley[T13], p14: => Parsley[T14], p15: => Parsley[T15], p16: => Parsley[T16], p17: => Parsley[T17], p18: => Parsley[T18], p19: => Parsley[T19], p20: => Parsley[T20], p21: => Parsley[T21]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp twenty-one.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9], p10: => Parsley[T10], p11: => Parsley[T11], p12: => Parsley[T12], p13: => Parsley[T13], p14: => Parsley[T14], p15: => Parsley[T15], p16: => Parsley[T16], p17: => Parsley[T17], p18: => Parsley[T18], p19: => Parsley[T19], p20: => Parsley[T20], p21: => Parsley[T21], p22: => Parsley[T22]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp twenty-two.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap3[T1, T2, T3, R](pf: Parsley[(T1, T2, T3) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp three.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap4[T1, T2, T3, T4, R](pf: Parsley[(T1, T2, T3, T4) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp four.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap5[T1, T2, T3, T4, T5, R](pf: Parsley[(T1, T2, T3, T4, T5) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp five.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap6[T1, T2, T3, T4, T5, T6, R](pf: Parsley[(T1, T2, T3, T4, T5, T6) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp six.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap7[T1, T2, T3, T4, T5, T6, T7, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp seven.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap8[T1, T2, T3, T4, T5, T6, T7, T8, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp eight.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala
final def ap9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R](pf: Parsley[(T1, T2, T3, T4, T5, T6, T7, T8, T9) => R], p1: => Parsley[T1], p2: => Parsley[T2], p3: => Parsley[T3], p4: => Parsley[T4], p5: => Parsley[T5], p6: => Parsley[T6], p7: => Parsley[T7], p8: => Parsley[T8], p9: => Parsley[T9]): Parsley[R]

$bodyAp

$bodyAp

Value parameters

pf

$paramAp nine.

Attributes

Returns

$returnAp

Inherited from:
ap (hidden)
Source
ap.scala