@@ -14,56 +14,56 @@ public func curry<A, B, C>(f : (A, B) -> C) -> A -> B -> C {
1414 return { a in { b in f ( a, b) } }
1515}
1616
17- public func curry< A, B , C , D> ( f: ( A , B , C ) -> D ) -> A -> B -> C -> D {
18- return { a in { b in { c in f ( a, b , c) } } }
17+ public func curry< A, B , C , D> ( f : ( A , B , C ) -> D ) -> A -> B -> C -> D {
18+ return { a in { b in { c in f ( a, b , c) } } }
1919}
2020
21- public func curry< A, B , C , D , E> ( f: ( A , B , C , D ) -> E ) -> A -> B -> C -> D -> E {
22- return { a in { b in { c in { d in f ( a, b , c , d) } } } }
21+ public func curry< A, B , C , D , E> ( f : ( A , B , C , D ) -> E ) -> A -> B -> C -> D -> E {
22+ return { a in { b in { c in { d in f ( a, b , c , d) } } } }
2323}
2424
25- public func curry< A, B , C , D , E , F> ( f: ( A , B , C , D , E ) -> F ) -> A -> B -> C -> D -> E -> F {
26- return { a in { b in { c in { d in { e in f ( a, b , c , d , e) } } } } }
25+ public func curry< A, B , C , D , E , F> ( f : ( A , B , C , D , E ) -> F ) -> A -> B -> C -> D -> E -> F {
26+ return { a in { b in { c in { d in { e in f ( a, b , c , d , e) } } } } }
2727}
2828
29- public func curry< A, B , C , D , E , F , G> ( f: ( A , B , C , D , E , F ) -> G ) -> A -> B -> C -> D -> E -> F -> G {
30- return { a in { b in { c in { d in { e in { ff in f ( a, b , c , d , e , ff) } } } } } }
29+ public func curry< A, B , C , D , E , F , G> ( f : ( A , B , C , D , E , F ) -> G ) -> A -> B -> C -> D -> E -> F -> G {
30+ return { a in { b in { c in { d in { e in { ff in f ( a, b , c , d , e , ff) } } } } } }
3131}
3232
33- public func curry< A, B , C , D , E , F , G , H> ( f: ( A , B , C , D , E , F , G ) -> H ) -> A -> B -> C -> D -> E -> F -> G -> H {
34- return { a in { b in { c in { d in { e in { ff in { g in f ( a, b , c , d , e , ff, g) } } } } } } }
33+ public func curry< A, B , C , D , E , F , G , H> ( f : ( A , B , C , D , E , F , G ) -> H ) -> A -> B -> C -> D -> E -> F -> G -> H {
34+ return { a in { b in { c in { d in { e in { ff in { g in f ( a, b , c , d , e , ff, g) } } } } } } }
3535}
3636
37- public func curry< A, B , C , D , E , F , G , H , I> ( f: ( A , B , C , D , E , F , G , H ) -> I ) -> A -> B -> C -> D -> E -> F -> G -> H -> I {
38- return { a in { b in { c in { d in { e in { ff in { g in { h in f ( a, b , c , d , e , ff, g , h) } } } } } } } }
37+ public func curry< A, B , C , D , E , F , G , H , I> ( f : ( A , B , C , D , E , F , G , H ) -> I ) -> A -> B -> C -> D -> E -> F -> G -> H -> I {
38+ return { a in { b in { c in { d in { e in { ff in { g in { h in f ( a, b , c , d , e , ff, g , h) } } } } } } } }
3939}
4040
41- public func curry< A, B , C , D , E , F , G , H , I , J> ( f: ( A , B , C , D , E , F , G , H , I ) -> J ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J {
42- return { a in { b in { c in { d in { e in { ff in { g in { h in { i in f ( a, b , c , d , e , ff, g , h , i) } } } } } } } } }
41+ public func curry< A, B , C , D , E , F , G , H , I , J> ( f : ( A , B , C , D , E , F , G , H , I ) -> J ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J {
42+ return { a in { b in { c in { d in { e in { ff in { g in { h in { i in f ( a, b , c , d , e , ff, g , h , i) } } } } } } } } }
4343}
4444
45- public func curry< A, B , C , D , E , F , G , H , I , J , K> ( f: ( A , B , C , D , E , F , G , H , I , J ) -> K ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K {
46- return { a in { b in { c in { d in { e in { ff in { g in { h in { i in { j in f ( a, b , c , d , e , ff, g , h , i , j) } } } } } } } } } }
45+ public func curry< A, B , C , D , E , F , G , H , I , J , K> ( f : ( A , B , C , D , E , F , G , H , I , J ) -> K ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K {
46+ return { a in { b in { c in { d in { e in { ff in { g in { h in { i in { j in f ( a, b , c , d , e , ff, g , h , i , j) } } } } } } } } } }
4747}
4848
49- public func curry< A, B , C , D , E , F , G , H , I , J , K , L> ( f: ( A , B , C , D , E , F , G , H , I , J , K ) -> L ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L {
50- return { a in { b in { c in { d in { e in { ff in { g in { h in { i in { j in { k in f ( a, b , c , d , e , ff, g , h , i , j , k) } } } } } } } } } } }
49+ public func curry< A, B , C , D , E , F , G , H , I , J , K , L> ( f : ( A , B , C , D , E , F , G , H , I , J , K ) -> L ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L {
50+ return { a in { b in { c in { d in { e in { ff in { g in { h in { i in { j in { k in f ( a, b , c , d , e , ff, g , h , i , j , k) } } } } } } } } } } }
5151}
5252
53- public func curry< A, B , C , D , E , F , G , H , I , J , K , L , M> ( f: ( A , B , C , D , E , F , G , H , I , J , K , L ) -> M ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M {
54- return { a in { b in { c in { d in { e in { ff in { g in { h in { i in { j in { k in { l in f ( a, b , c , d , e , ff, g , h , i , j , k , l) } } } } } } } } } } } }
53+ public func curry< A, B , C , D , E , F , G , H , I , J , K , L , M> ( f : ( A , B , C , D , E , F , G , H , I , J , K , L ) -> M ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M {
54+ return { a in { b in { c in { d in { e in { ff in { g in { h in { i in { j in { k in { l in f ( a, b , c , d , e , ff, g , h , i , j , k , l) } } } } } } } } } } } }
5555}
5656
57- public func curry< A, B , C , D , E , F , G , H , I , J , K , L , M , N> ( f: ( A , B , C , D , E , F , G , H , I , J , K , L , M ) -> N ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M -> N {
58- return { a in { b in { c in { d in { e in { ff in { g in { h in { i in { j in { k in { l in { m in f ( a, b , c , d , e , ff, g , h , i , j , k , l , m) } } } } } } } } } } } } }
57+ public func curry< A, B , C , D , E , F , G , H , I , J , K , L , M , N> ( f : ( A , B , C , D , E , F , G , H , I , J , K , L , M ) -> N ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M -> N {
58+ return { a in { b in { c in { d in { e in { ff in { g in { h in { i in { j in { k in { l in { m in f ( a, b , c , d , e , ff, g , h , i , j , k , l , m) } } } } } } } } } } } } }
5959}
6060
61- public func curry< A, B , C , D , E , F , G , H , I , J , K , L , M , N , O> ( f: ( A , B , C , D , E , F , G , H , I , J , K , L , M , N ) -> O ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M -> N -> O {
62- return { a in { b in { c in { d in { e in { ff in { g in { h in { i in { j in { k in { l in { m in { n in f ( a, b , c , d , e , ff, g , h , i , j , k , l , m , n) } } } } } } } } } } } } } }
61+ public func curry< A, B , C , D , E , F , G , H , I , J , K , L , M , N , O> ( f : ( A , B , C , D , E , F , G , H , I , J , K , L , M , N ) -> O ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M -> N -> O {
62+ return { a in { b in { c in { d in { e in { ff in { g in { h in { i in { j in { k in { l in { m in { n in f ( a, b , c , d , e , ff, g , h , i , j , k , l , m , n) } } } } } } } } } } } } } }
6363}
6464
65- public func curry< A, B , C , D , E , F , G , H , I , J , K , L , M , N , O , P> ( f: ( A , B , C , D , E , F , G , H , I , J , K , L , M , N , O ) -> P ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M -> N -> O -> P {
66- return { a in { b in { c in { d in { e in { ff in { g in { h in { i in { j in { k in { l in { m in { n in { o in f ( a, b , c , d , e , ff, g , h , i , j , k , l , m , n , o) } } } } } } } } } } } } } } }
65+ public func curry< A, B , C , D , E , F , G , H , I , J , K , L , M , N , O , P> ( f : ( A , B , C , D , E , F , G , H , I , J , K , L , M , N , O ) -> P ) -> A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M -> N -> O -> P {
66+ return { a in { b in { c in { d in { e in { ff in { g in { h in { i in { j in { k in { l in { m in { n in { o in f ( a, b , c , d , e , ff, g , h , i , j , k , l , m , n , o) } } } } } } } } } } } } } } }
6767}
6868
6969/// Converts a curried function to an uncurried function.
@@ -74,54 +74,54 @@ public func uncurry<A, B, C>(f : A -> B -> C) -> (A, B) -> C {
7474 return { t in f ( t. 0 ) ( t. 1 ) }
7575}
7676
77- public func uncurry< A, B , C , D> ( f: A -> B -> C -> D ) -> ( A , B , C ) -> D {
78- return { a, b , c in f ( a) ( b) ( c) }
77+ public func uncurry< A, B , C , D> ( f : A -> B -> C -> D ) -> ( A , B , C ) -> D {
78+ return { a, b , c in f ( a) ( b) ( c) }
7979}
8080
81- public func uncurry< A, B , C , D , E> ( f: A -> B -> C -> D -> E ) -> ( A , B , C , D ) -> E {
82- return { a, b , c , d in f ( a) ( b) ( c) ( d) }
81+ public func uncurry< A, B , C , D , E> ( f : A -> B -> C -> D -> E ) -> ( A , B , C , D ) -> E {
82+ return { a, b , c , d in f ( a) ( b) ( c) ( d) }
8383}
8484
85- public func uncurry< A, B , C , D , E , F> ( f: A -> B -> C -> D -> E -> F ) -> ( A , B , C , D , E ) -> F {
86- return { a, b , c , d , e in f ( a) ( b) ( c) ( d) ( e) }
85+ public func uncurry< A, B , C , D , E , F> ( f : A -> B -> C -> D -> E -> F ) -> ( A , B , C , D , E ) -> F {
86+ return { a, b , c , d , e in f ( a) ( b) ( c) ( d) ( e) }
8787}
8888
89- public func uncurry< A, B , C , D , E , F , G> ( f: A -> B -> C -> D -> E -> F -> G ) -> ( A , B , C , D , E , F ) -> G {
90- return { a, b , c , d , e , ff in f ( a) ( b) ( c) ( d) ( e) ( ff) }
89+ public func uncurry< A, B , C , D , E , F , G> ( f : A -> B -> C -> D -> E -> F -> G ) -> ( A , B , C , D , E , F ) -> G {
90+ return { a, b , c , d , e , ff in f ( a) ( b) ( c) ( d) ( e) ( ff) }
9191}
9292
93- public func uncurry< A, B , C , D , E , F , G , H> ( f: A -> B -> C -> D -> E -> F -> G -> H ) -> ( A , B , C , D , E , F , G ) -> H {
94- return { a, b , c , d , e , ff, g in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) }
93+ public func uncurry< A, B , C , D , E , F , G , H> ( f : A -> B -> C -> D -> E -> F -> G -> H ) -> ( A , B , C , D , E , F , G ) -> H {
94+ return { a, b , c , d , e , ff, g in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) }
9595}
9696
97- public func uncurry< A, B , C , D , E , F , G , H , I> ( f: A -> B -> C -> D -> E -> F -> G -> H -> I ) -> ( A , B , C , D , E , F , G , H ) -> I {
98- return { a, b , c , d , e , ff, g , h in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) }
97+ public func uncurry< A, B , C , D , E , F , G , H , I> ( f : A -> B -> C -> D -> E -> F -> G -> H -> I ) -> ( A , B , C , D , E , F , G , H ) -> I {
98+ return { a, b , c , d , e , ff, g , h in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) }
9999}
100100
101- public func uncurry< A, B , C , D , E , F , G , H , I , J> ( f: A -> B -> C -> D -> E -> F -> G -> H -> I -> J ) -> ( A , B , C , D , E , F , G , H , I ) -> J {
102- return { a, b , c , d , e , ff, g , h , i in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) }
101+ public func uncurry< A, B , C , D , E , F , G , H , I , J> ( f : A -> B -> C -> D -> E -> F -> G -> H -> I -> J ) -> ( A , B , C , D , E , F , G , H , I ) -> J {
102+ return { a, b , c , d , e , ff, g , h , i in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) }
103103}
104104
105- public func uncurry< A, B , C , D , E , F , G , H , I , J , K> ( f: A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K ) -> ( A , B , C , D , E , F , G , H , I , J ) -> K {
106- return { a, b , c , d , e , ff, g , h , i , j in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) ( j) }
105+ public func uncurry< A, B , C , D , E , F , G , H , I , J , K> ( f : A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K ) -> ( A , B , C , D , E , F , G , H , I , J ) -> K {
106+ return { a, b , c , d , e , ff, g , h , i , j in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) ( j) }
107107}
108108
109- public func uncurry< A, B , C , D , E , F , G , H , I , J , K , L> ( f: A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L ) -> ( A , B , C , D , E , F , G , H , I , J , K ) -> L {
110- return { a, b , c , d , e , ff, g , h , i , j , k in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) ( j) ( k) }
109+ public func uncurry< A, B , C , D , E , F , G , H , I , J , K , L> ( f : A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L ) -> ( A , B , C , D , E , F , G , H , I , J , K ) -> L {
110+ return { a, b , c , d , e , ff, g , h , i , j , k in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) ( j) ( k) }
111111}
112112
113- public func uncurry< A, B , C , D , E , F , G , H , I , J , K , L , M> ( f: A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M ) -> ( A , B , C , D , E , F , G , H , I , J , K , L ) -> M {
114- return { a, b , c , d , e , ff, g , h , i , j , k , l in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) ( j) ( k) ( l) }
113+ public func uncurry< A, B , C , D , E , F , G , H , I , J , K , L , M> ( f : A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M ) -> ( A , B , C , D , E , F , G , H , I , J , K , L ) -> M {
114+ return { a, b , c , d , e , ff, g , h , i , j , k , l in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) ( j) ( k) ( l) }
115115}
116116
117- public func uncurry< A, B , C , D , E , F , G , H , I , J , K , L , M , N> ( f: A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M -> N ) -> ( A , B , C , D , E , F , G , H , I , J , K , L , M ) -> N {
118- return { a, b , c , d , e , ff, g , h , i , j , k , l , m in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) ( j) ( k) ( l) ( m) }
117+ public func uncurry< A, B , C , D , E , F , G , H , I , J , K , L , M , N> ( f : A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M -> N ) -> ( A , B , C , D , E , F , G , H , I , J , K , L , M ) -> N {
118+ return { a, b , c , d , e , ff, g , h , i , j , k , l , m in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) ( j) ( k) ( l) ( m) }
119119}
120120
121- public func uncurry< A, B , C , D , E , F , G , H , I , J , K , L , M , N , O> ( f: A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M -> N -> O ) -> ( A , B , C , D , E , F , G , H , I , J , K , L , M , N ) -> O {
122- return { a, b , c , d , e , ff, g , h , i , j , k , l , m , n in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) ( j) ( k) ( l) ( m) ( n) }
121+ public func uncurry< A, B , C , D , E , F , G , H , I , J , K , L , M , N , O> ( f : A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M -> N -> O ) -> ( A , B , C , D , E , F , G , H , I , J , K , L , M , N ) -> O {
122+ return { a, b , c , d , e , ff, g , h , i , j , k , l , m , n in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) ( j) ( k) ( l) ( m) ( n) }
123123}
124124
125- public func uncurry< A, B , C , D , E , F , G , H , I , J , K , L , M , N , O , P> ( f: A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M -> N -> O -> P ) -> ( A , B , C , D , E , F , G , H , I , J , K , L , M , N , O ) -> P {
126- return { a, b , c , d , e , ff, g , h , i , j , k , l , m , n , o in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) ( j) ( k) ( l) ( m) ( n) ( o) }
125+ public func uncurry< A, B , C , D , E , F , G , H , I , J , K , L , M , N , O , P> ( f : A -> B -> C -> D -> E -> F -> G -> H -> I -> J -> K -> L -> M -> N -> O -> P ) -> ( A , B , C , D , E , F , G , H , I , J , K , L , M , N , O ) -> P {
126+ return { a, b , c , d , e , ff, g , h , i , j , k , l , m , n , o in f ( a) ( b) ( c) ( d) ( e) ( ff) ( g) ( h) ( i) ( j) ( k) ( l) ( m) ( n) ( o) }
127127}
0 commit comments