static Func <A, B> Y <A, B>(Func <Func <A, B>, Func <A, B> > f)
    {
        var r = new RecursiveFunc <Func <A, B> > {
            o = w => f(_0 => w.o(w)(_0))
        };

        return(r.o(r));
    }
Exemplo n.º 2
0
    static Func Y(FuncFunc f)
    {
        RecursiveFunc g = delegate(RecursiveFunc r) {
            return(f(delegate(int x) {
                return r(r)(x);
            }));
        };

        return(g(g));
    }
Exemplo n.º 3
0
    static System.Func <A, B> Y <A, B>(System.Func <System.Func <A, B>, System.Func <A, B> > f)
    {
        var r = new RecursiveFunc <System.Func <A, B> >()
        {
            o = new System.Func <RecursiveFunc <System.Func <A, B> >, System.Func <A, B> >((RecursiveFunc <System.Func <A, B> > w) => {
                return(f(new System.Func <A, B>((A x) => {
                    return w.o(w)(x);
                })));
            })
        };

        return(r.o(r));
    }
Exemplo n.º 4
0
 public static Func <T1, T2, T3, T4, T5, T6, T7, T8, TResult> RF2F <T1, T2, T3, T4, T5, T6, T7, T8, TResult>(
     RecursiveFunc <T1, T2, T3, T4, T5, T6, T7, T8, TResult> rf)
 {
     return((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => rf(
                rf,
                arg1,
                arg2,
                arg3,
                arg4,
                arg5,
                arg6,
                arg7,
                arg8));
 }
Exemplo n.º 5
0
 public static Func <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult> RF2F <T1, T2, T3, T4, T5, T6,
                                                                                            T7, T8, T9, T10, T11, T12, T13, TResult>(
     RecursiveFunc <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult> rf)
 {
     return((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13) => rf(
                rf,
                arg1,
                arg2,
                arg3,
                arg4,
                arg5,
                arg6,
                arg7,
                arg8,
                arg9,
                arg10,
                arg11,
                arg12,
                arg13));
 }
 public Func apply(RecursiveFunc w)
 {
     return(f.apply(new __2(w)));
 }
 public __2(RecursiveFunc w)
 {
     this.w = w;
 }
 static Func<A, B> Y<A, B>(Func<Func<A, B>, Func<A, B>> f) {
     var r = new RecursiveFunc<Func<A, B>> {
         o = w => f(x => w.o(w)(x))
     };
     return r.o(r);
 }
Exemplo n.º 9
0
 public static Func <T1, T2, T3, T4, T5, TResult> RF2F <T1, T2, T3, T4, T5, TResult>(
     RecursiveFunc <T1, T2, T3, T4, T5, TResult> rf)
 {
     return((arg1, arg2, arg3, arg4, arg5) => rf(rf, arg1, arg2, arg3, arg4, arg5));
 }
Exemplo n.º 10
0
 public static Func <T1, T2, TResult> RF2F <T1, T2, TResult>(RecursiveFunc <T1, T2, TResult> rf)
 {
     return((arg1, arg2) => rf(rf, arg1, arg2));
 }
Exemplo n.º 11
0
 public static Func <T1, TResult> RF2F <T1, TResult>(RecursiveFunc <T1, TResult> rf)
 {
     return(arg1 => rf(rf, arg1));
 }
Exemplo n.º 12
0
 public static Func <TResult> RF2F <TResult>(RecursiveFunc <TResult> rf)
 {
     return(() => rf(rf));
 }
Exemplo n.º 13
0
        public static Func <A, R> Y <A, R>(Func <Func <A, R>, Func <A, R> > f)
        {
            RecursiveFunc <A, R> rec = r => a => f(r(r))(a);

            return(rec(rec));
        }
Exemplo n.º 14
0
    static Func Y(FuncFunc f)
    {
        RecursiveFunc g = r => f(x => r(r)(x));

        return(g(g));
    }