def S(z, y, *xs, **kw): """ <p>The S combinator.</p> """ v = call(y, *xs, **kw) f = call(z, *xs, **kw) return call(f, *v, **kw)
def K(f, *z, **kw): """ <p>The K combinator. This is also known as the Kestrel.</p> <p>K takes a function (resolved through a bind expression which will have been created via something like <a href="/lib/fn/">lib/fn</a>), executes the function over its other inputs and then returns the original function.</p> """ call(f, *z, **kw) return f