Skip to content

Instantly share code, notes, and snippets.

@jorgeortiz85
Forked from jsuereth/gist:88988
Created April 2, 2009 17:06
Show Gist options
  • Save jorgeortiz85/89290 to your computer and use it in GitHub Desktop.
Save jorgeortiz85/89290 to your computer and use it in GitHub Desktop.
package scala {
trait Function23[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, -T18, -T19, -T20, -T21, -T22, -T23, +R] extends AnyRef { self =>
def apply(v1:T1, v2:T2, v3:T3, v4:T4, v5:T5, v6:T6, v7:T7, v8:T8, v9:T9, v10:T10, v11:T11, v12:T12, v13:T13, v14:T14, v15:T15, v16:T16, v17:T17, v18:T18, v19:T19, v20:T20, v21:T21, v22:T22, v23:T23): R
override def toString() = "<function>"
def curry: T1 => T2 => T3 => T4 => T5 => T6 => T7 => T8 => T9 => T10 => T11 => T12 => T13 => T14 => T15 => T16 => T17 => T18 => T19 => T20 => T21 => T22 => T23 => R = {
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11, x12: T12, x13: T13, x14: T14, x15: T15, x16: T16, x17: T17, x18: T18, x19: T19, x20: T20, x21: T21, x22: T22, x23: T23) => self.apply(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23)).curry
}
}
}
package test {
object App {
def main(args: Array[String]) {
def x(one:Int, two:Int, three:Int, four:Int, five:Int, six:Int, seven:Int, eight:Int, nine:Int, ten:Int, eleven:Int, twelve:Int, thirteen:Int, fourteen:Int, fifteen:Int, sixteen:Int, seventeen:Int, eighteen:Int, nineteen:Int, twenty:Int, twentyone:Int, twentytwo:Int, twentythree:Int) = one + two
val f = x _
println(f(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23))
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment