@@ -21,96 +21,77 @@ object Expr {
2121 def show (implicit toolbox : Toolbox ): String = toolbox.show(expr)
2222 }
2323
24- implicit class AsFunction0 [R ](private val f : Expr [() => R ]) extends AnyVal {
25- def apply (): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array .empty)
26- }
24+ implicit object BetaReduction {
2725
28- implicit class AsFunction1 [T1 , R ](private val f : Expr [(T1 ) => R ]) extends AnyVal {
29- def apply (x1 : Expr [T1 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1))
30- }
26+ def (f : Expr [() => R ]) apply[R ] (): Expr [R ] =
27+ new Exprs .FunctionAppliedTo [R ](f, Array .empty)
3128
32- implicit class AsFunction2 [T1 , T2 , R ](private val f : Expr [(T1 , T2 ) => R ]) extends AnyVal {
33- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2))
34- }
29+ def (f : Expr [(T1 ) => R ]) apply[T1 , R ](x1 : Expr [T1 ]): Expr [R ] =
30+ new Exprs .FunctionAppliedTo [R ](f, Array (x1))
3531
36- implicit class AsFunction3 [T1 , T2 , T3 , R ](private val f : Expr [(T1 , T2 , T3 ) => R ]) extends AnyVal {
37- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3))
38- }
32+ def (f : Expr [(T1 , T2 ) => R ]) apply[T1 , T2 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ]): Expr [R ] =
33+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2))
3934
40- implicit class AsFunction4 [T1 , T2 , T3 , T4 , R ](private val f : Expr [(T1 , T2 , T3 , T4 ) => R ]) extends AnyVal {
41- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4))
42- }
35+ def (f : Expr [(T1 , T2 , T3 ) => R ]) apply[T1 , T2 , T3 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ]): Expr [R ] =
36+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3))
4337
44- implicit class AsFunction5 [T1 , T2 , T3 , T4 , T5 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 ) => R ]) extends AnyVal {
45- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5))
46- }
38+ def (f : Expr [(T1 , T2 , T3 , T4 ) => R ]) apply[T1 , T2 , T3 , T4 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ]): Expr [R ] =
39+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4))
4740
48- implicit class AsFunction6 [T1 , T2 , T3 , T4 , T5 , T6 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 ) => R ]) extends AnyVal {
49- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6))
50- }
41+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ]): Expr [R ] =
42+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5))
5143
52- implicit class AsFunction7 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 ) => R ]) extends AnyVal {
53- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7))
54- }
44+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ]): Expr [R ] =
45+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6))
5546
56- implicit class AsFunction8 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ) => R ]) extends AnyVal {
57- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8))
58- }
47+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ]): Expr [R ] =
48+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7))
5949
60- implicit class AsFunction9 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ) => R ]) extends AnyVal {
61- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9))
62- }
50+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ]): Expr [R ] =
51+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8))
6352
64- implicit class AsFunction10 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ) => R ]) extends AnyVal {
65- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10))
66- }
53+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ]): Expr [R ] =
54+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9))
6755
68- implicit class AsFunction11 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ) => R ]) extends AnyVal {
69- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11))
70- }
56+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ]): Expr [R ] =
57+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10))
7158
72- implicit class AsFunction12 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ) => R ]) extends AnyVal {
73- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12))
74- }
59+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ]): Expr [R ] =
60+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11))
7561
76- implicit class AsFunction13 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ) => R ]) extends AnyVal {
77- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13))
78- }
62+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ]): Expr [R ] =
63+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12))
7964
80- implicit class AsFunction14 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ) => R ]) extends AnyVal {
81- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14))
82- }
65+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ]): Expr [R ] =
66+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13))
8367
84- implicit class AsFunction15 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ) => R ]) extends AnyVal {
85- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15))
86- }
68+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ]): Expr [R ] =
69+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14))
8770
88- implicit class AsFunction16 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ) => R ]) extends AnyVal {
89- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16))
90- }
71+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ]): Expr [R ] =
72+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15))
9173
92- implicit class AsFunction17 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ) => R ]) extends AnyVal {
93- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ], x17 : Expr [T17 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17))
94- }
74+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ]): Expr [R ] =
75+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16))
9576
96- implicit class AsFunction18 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ) => R ]) extends AnyVal {
97- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ], x17 : Expr [T17 ], x18 : Expr [T18 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18))
98- }
77+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ], x17 : Expr [T17 ]): Expr [R ] =
78+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17))
9979
100- implicit class AsFunction19 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ) => R ]) extends AnyVal {
101- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ], x17 : Expr [T17 ], x18 : Expr [T18 ], x19 : Expr [T19 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19))
102- }
80+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ], x17 : Expr [T17 ], x18 : Expr [T18 ]): Expr [R ] =
81+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18))
10382
104- implicit class AsFunction20 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ) => R ]) extends AnyVal {
105- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ], x17 : Expr [T17 ], x18 : Expr [T18 ], x19 : Expr [T19 ], x20 : Expr [T20 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20))
106- }
83+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ], x17 : Expr [T17 ], x18 : Expr [T18 ], x19 : Expr [T19 ]): Expr [R ] =
84+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19))
10785
108- implicit class AsFunction21 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ) => R ]) extends AnyVal {
109- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ], x17 : Expr [T17 ], x18 : Expr [T18 ], x19 : Expr [T19 ], x20 : Expr [T20 ], x21 : Expr [T21 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21))
110- }
86+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ], x17 : Expr [T17 ], x18 : Expr [T18 ], x19 : Expr [T19 ], x20 : Expr [T20 ]): Expr [R ] =
87+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20))
88+
89+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ], x17 : Expr [T17 ], x18 : Expr [T18 ], x19 : Expr [T19 ], x20 : Expr [T20 ], x21 : Expr [T21 ]): Expr [R ] =
90+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21))
91+
92+ def (f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ) => R ]) apply[T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , R ](x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ], x17 : Expr [T17 ], x18 : Expr [T18 ], x19 : Expr [T19 ], x20 : Expr [T20 ], x21 : Expr [T21 ], x22 : Expr [T22 ]): Expr [R ] =
93+ new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22))
11194
112- implicit class AsFunction22 [T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , R ](private val f : Expr [(T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 ) => R ]) extends AnyVal {
113- def apply (x1 : Expr [T1 ], x2 : Expr [T2 ], x3 : Expr [T3 ], x4 : Expr [T4 ], x5 : Expr [T5 ], x6 : Expr [T6 ], x7 : Expr [T7 ], x8 : Expr [T8 ], x9 : Expr [T9 ], x10 : Expr [T10 ], x11 : Expr [T11 ], x12 : Expr [T12 ], x13 : Expr [T13 ], x14 : Expr [T14 ], x15 : Expr [T15 ], x16 : Expr [T16 ], x17 : Expr [T17 ], x18 : Expr [T18 ], x19 : Expr [T19 ], x20 : Expr [T20 ], x21 : Expr [T21 ], x22 : Expr [T22 ]): Expr [R ] = new Exprs .FunctionAppliedTo [R ](f, Array (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22))
11495 }
11596
11697}
0 commit comments