RosettaCodeData/Task/Y-combinator/C-sharp/y-combinator-18.cs
2020-02-17 23:21:07 -08:00

4 lines
210 B
C#

public static Func<A, B> Y<A, B>(Func<Func<A, B>, Func<A, B>> f) {
Func<dynamic, Func<A, B>> r = z => { var w = (Func<dynamic, Func<A, B>>)z; return f(_0 => w(w)(_0)); };
return r(r);
}