RosettaCodeData/Task/Y-combinator/Ceylon/y-combinator-2.ceylon
2023-07-01 13:44:08 -04: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);
}