Recall package:base R Documentation _R_e_c_u_r_s_i_v_e _C_a_l_l_i_n_g _D_e_s_c_r_i_p_t_i_o_n: 'Recall' is used as a placeholder for the name of the function in which it is called. It allows the definition of recursive functions which still work after being renamed, see example below. _U_s_a_g_e: Recall(...) _A_r_g_u_m_e_n_t_s: ...: all the arguments to be passed. _N_o_t_e: 'Recall' will not work correctly when passed as a function argument, e.g. to the 'apply' family of functions. _S_e_e _A_l_s_o: 'do.call' and 'call'. 'local' for another way to write anonymous recursive functions. _E_x_a_m_p_l_e_s: ## A trivial (but inefficient!) example: fib <- function(n) if(n<=2) { if(n>=0) 1 else 0 } else Recall(n-1) + Recall(n-2) fibonacci <- fib; rm(fib) ## renaming wouldn't work without Recall fibonacci(10) # 55