Beispiel #1
0
        public static void Bounce(this Trampoline trampoline)
        {
            RecursiveAction recursiveAction = null;

            for (
                recursiveAction = () => recursiveAction;

                recursiveAction != null;

                recursiveAction = trampoline(recursiveAction)()
                )
            {
            }
        }
Beispiel #2
0
 public static Action <T1, T2, T3, T4, T5, T6, T7, T8> RA2A <T1, T2, T3, T4, T5, T6, T7, T8>(
     RecursiveAction <T1, T2, T3, T4, T5, T6, T7, T8> ra)
 {
     return((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => ra(
                ra,
                arg1,
                arg2,
                arg3,
                arg4,
                arg5,
                arg6,
                arg7,
                arg8));
 }
Beispiel #3
0
 public static Action <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> RA2A <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(
     RecursiveAction <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ra)
 {
     return((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) => ra(
                ra,
                arg1,
                arg2,
                arg3,
                arg4,
                arg5,
                arg6,
                arg7,
                arg8,
                arg9,
                arg10));
 }
Beispiel #4
0
        public static void Bounce <T>(this Trampoline <T> trampoline, T arg)
        {
            RecursiveAction <T> recursiveAction = null;

            for (
                recursiveAction = (newArg) =>
            {
                arg = newArg;
                return(recursiveAction);
            };

                recursiveAction != null;

                recursiveAction = trampoline(recursiveAction)(arg)
                )
            {
            }
        }
Beispiel #5
0
        public static void Bounce <T1, T2>(this Trampoline <T1, T2> trampoline, T1 arg1, T2 arg2)
        {
            RecursiveAction <T1, T2> recursiveAction = null;

            for (
                recursiveAction = (newArg1, newArg2) =>
            {
                arg1 = newArg1;
                arg2 = newArg2;
                return(recursiveAction);
            };

                recursiveAction != null;

                recursiveAction = trampoline(recursiveAction)(arg1, arg2)
                )
            {
            }
        }
Beispiel #6
0
 public static Action <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> RA2A <T1, T2, T3, T4,
                                                                                                    T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(
     RecursiveAction <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> ra)
 {
     return((
                arg1,
                arg2,
                arg3,
                arg4,
                arg5,
                arg6,
                arg7,
                arg8,
                arg9,
                arg10,
                arg11,
                arg12,
                arg13,
                arg14,
                arg15,
                arg16) =>
            ra(
                ra,
                arg1,
                arg2,
                arg3,
                arg4,
                arg5,
                arg6,
                arg7,
                arg8,
                arg9,
                arg10,
                arg11,
                arg12,
                arg13,
                arg14,
                arg15,
                arg16));
 }
Beispiel #7
0
 public static RecursiveAction <T1, T2, T3> Break <T1, T2, T3>(this RecursiveAction <T1, T2, T3> recursiveAction)
 {
     return(null);
 }
Beispiel #8
0
 public static RecursiveAction <T> Break <T>(this RecursiveAction <T> recursiveAction)
 {
     return(null);
 }
Beispiel #9
0
 public static RecursiveAction Break(this RecursiveAction recursiveAction)
 {
     return(null);
 }
Beispiel #10
0
        public static Action <A> YAction <A>(Func <Action <A>, Action <A> > f)
        {
            RecursiveAction <A> rec = r => a => f(r(r))(a);

            return(rec(rec));
        }
Beispiel #11
0
 public static Action <T1, T2, T3, T4, T5, T6> RA2A <T1, T2, T3, T4, T5, T6>(
     RecursiveAction <T1, T2, T3, T4, T5, T6> ra)
 {
     return((arg1, arg2, arg3, arg4, arg5, arg6) => ra(ra, arg1, arg2, arg3, arg4, arg5, arg6));
 }
Beispiel #12
0
 public static Action <T1, T2, T3, T4> RA2A <T1, T2, T3, T4>(RecursiveAction <T1, T2, T3, T4> ra)
 {
     return((arg1, arg2, arg3, arg4) => ra(ra, arg1, arg2, arg3, arg4));
 }
Beispiel #13
0
 public static Action <T1, T2, T3> RA2A <T1, T2, T3>(RecursiveAction <T1, T2, T3> ra)
 {
     return((arg1, arg2, arg3) => ra(ra, arg1, arg2, arg3));
 }
Beispiel #14
0
 public static Action <T1, T2> RA2A <T1, T2>(RecursiveAction <T1, T2> ra)
 {
     return((arg1, arg2) => ra(ra, arg1, arg2));
 }
Beispiel #15
0
 public static Action <T> RA2A <T>(RecursiveAction <T> ra)
 {
     return(arg => ra(ra, arg));
 }
Beispiel #16
0
 public static Action RA2A(RecursiveAction ra)
 {
     return(() => ra(ra));
 }