public static void Bounce(this Trampoline trampoline) { RecursiveAction recursiveAction = null; for ( recursiveAction = () => recursiveAction; recursiveAction != null; recursiveAction = trampoline(recursiveAction)() ) { } }
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)); }
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)); }
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) ) { } }
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) ) { } }
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)); }
public static RecursiveAction <T1, T2, T3> Break <T1, T2, T3>(this RecursiveAction <T1, T2, T3> recursiveAction) { return(null); }
public static RecursiveAction <T> Break <T>(this RecursiveAction <T> recursiveAction) { return(null); }
public static RecursiveAction Break(this RecursiveAction recursiveAction) { return(null); }
public static Action <A> YAction <A>(Func <Action <A>, Action <A> > f) { RecursiveAction <A> rec = r => a => f(r(r))(a); return(rec(rec)); }
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)); }
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)); }
public static Action <T1, T2, T3> RA2A <T1, T2, T3>(RecursiveAction <T1, T2, T3> ra) { return((arg1, arg2, arg3) => ra(ra, arg1, arg2, arg3)); }
public static Action <T1, T2> RA2A <T1, T2>(RecursiveAction <T1, T2> ra) { return((arg1, arg2) => ra(ra, arg1, arg2)); }
public static Action <T> RA2A <T>(RecursiveAction <T> ra) { return(arg => ra(ra, arg)); }
public static Action RA2A(RecursiveAction ra) { return(() => ra(ra)); }