module Base => // Reverses order of arguments fun flip(f, x, y) => f(y, x) // Always returns the first argument fun const(a, b) => a // Composes two functions, f and g fun compose(f, g) => \x => f(g(x)) fun s(f, g) => \x => f(x, g(x)) fun fix(f) => { val x = f(x) x } fun let_bound { (id(id(id)))(id(3)) } fun tuples(z) { val x = (z, z) val w = \y => ((y, y)) w(x) } // Identity function fun id(x) => x