Packages

object lift extends lift

This module provides the "lift syntax", which enables a lift combinator on functions of arities up to 22, applying the function across the results of several parsers.

Source
lift.scala
Example:
  1. scala> import parsley.character.char
    scala> import parsley.syntax.lift.{liftSyntax2, liftSyntax3}
    scala> case class Add(x: Int, y: Int)
    scala> val p = Add.lift(char('a').as(4), char('b').as(5))
    scala> p.parse("ab")
    val res0 = Success(Add(4, 5))
    scala> val f = (x: Int, y: Int, z: Int) => x * y + z
    scala> val q = f.lift(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(..)
Since

4.5.0

Note

a limitation of this syntax is that it requires the function's type to be fully known. For a version of this syntax that behaves better with type inference, see zipped.

Linear Supertypes
lift, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. lift
  2. lift
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. implicit final def liftSyntax0[R](x: R): Lift0[R]
    Definition Classes
    lift
  13. implicit final def liftSyntax1[T1, R](f: (T1) => R): Lift1[T1, R]
    Definition Classes
    lift
  14. implicit final def liftSyntax10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) => R): Lift10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R]
    Definition Classes
    lift
  15. implicit final def liftSyntax11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) => R): Lift11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R]
    Definition Classes
    lift
  16. implicit final def liftSyntax12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) => R): Lift12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R]
    Definition Classes
    lift
  17. implicit final def liftSyntax13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) => R): Lift13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R]
    Definition Classes
    lift
  18. implicit final def liftSyntax14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) => R): Lift14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R]
    Definition Classes
    lift
  19. implicit final def liftSyntax15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) => R): Lift15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R]
    Definition Classes
    lift
  20. implicit final def liftSyntax16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) => R): Lift16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R]
    Definition Classes
    lift
  21. implicit final def liftSyntax17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) => R): Lift17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, R]
    Definition Classes
    lift
  22. implicit final def liftSyntax18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) => R): Lift18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, R]
    Definition Classes
    lift
  23. implicit final def liftSyntax19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) => R): Lift19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, R]
    Definition Classes
    lift
  24. implicit final def liftSyntax2[T1, T2, R](f: (T1, T2) => R): Lift2[T1, T2, R]
    Definition Classes
    lift
  25. implicit final def liftSyntax20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) => R): Lift20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, R]
    Definition Classes
    lift
  26. implicit final def liftSyntax21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) => R): Lift21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, R]
    Definition Classes
    lift
  27. implicit final def liftSyntax22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) => R): Lift22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, R]
    Definition Classes
    lift
  28. implicit final def liftSyntax3[T1, T2, T3, R](f: (T1, T2, T3) => R): Lift3[T1, T2, T3, R]
    Definition Classes
    lift
  29. implicit final def liftSyntax4[T1, T2, T3, T4, R](f: (T1, T2, T3, T4) => R): Lift4[T1, T2, T3, T4, R]
    Definition Classes
    lift
  30. implicit final def liftSyntax5[T1, T2, T3, T4, T5, R](f: (T1, T2, T3, T4, T5) => R): Lift5[T1, T2, T3, T4, T5, R]
    Definition Classes
    lift
  31. implicit final def liftSyntax6[T1, T2, T3, T4, T5, T6, R](f: (T1, T2, T3, T4, T5, T6) => R): Lift6[T1, T2, T3, T4, T5, T6, R]
    Definition Classes
    lift
  32. implicit final def liftSyntax7[T1, T2, T3, T4, T5, T6, T7, R](f: (T1, T2, T3, T4, T5, T6, T7) => R): Lift7[T1, T2, T3, T4, T5, T6, T7, R]
    Definition Classes
    lift
  33. implicit final def liftSyntax8[T1, T2, T3, T4, T5, T6, T7, T8, R](f: (T1, T2, T3, T4, T5, T6, T7, T8) => R): Lift8[T1, T2, T3, T4, T5, T6, T7, T8, R]
    Definition Classes
    lift
  34. implicit final def liftSyntax9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R](f: (T1, T2, T3, T4, T5, T6, T7, T8, T9) => R): Lift9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R]
    Definition Classes
    lift
  35. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  36. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  37. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  38. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  39. def toString(): String
    Definition Classes
    AnyRef → Any
  40. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  41. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  42. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from lift

Inherited from AnyRef

Inherited from Any

Ungrouped