Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func p<T, U>(g: T -> U, h: (UInt, U, T) -> U) -> ((UInt, T) -> U) {
- var fx: ((UInt, T) -> U)!
- func f(y: UInt, x: T) -> U {
- if y == 0 {
- return g(x)
- }
- else {
- return h(y-1, fx(y-1, x), x)
- }
- }
- fx = f
- return f
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement