RosettaCodeData/Task/Y-combinator/Ceylon/y-combinator-2.ceylon
2016-12-05 23:44:36 +01:00

11 lines
271 B
Ceylon

Result(*Args) y2<Result,Args>(
Result(*Args)(Result(*Args)) f)
given Args satisfies Anything[] {
function r(Anything w) {
assert (is Result(*Args)(Anything) w);
return f(flatten((Args args) => w(w)(*args)));
}
return r(r);
}