Circular definition of function

Viewed 52

I read a question on function arguments which included the formals function and I was eager to find out how the function is defined. I used base:::formals and it gives:

function (fun = sys.function(sys.parent())) 
{
    if (is.character(fun)) 
    fun <- get(fun, mode = "function", envir = parent.frame())
.Internal(formals(fun))
}

To me it is unclear how this works because inside the definition of the formals function the formals function is used. That seems paradox to me.

1 Answers
Related