\Header{call}{Function Calls}
\alias{as.call}{call}
\alias{is.call}{call}
\keyword{programming}{call}
\keyword{attribute}{call}
\begin{Description}\relax
Create or test for objects of mode \code{"call"}.\end{Description}
\begin{Usage}
\begin{verbatim}
call(name, ...)
is.call(x)
as.call(x)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{name}] a character string naming the function to be called.
\item[\code{...}] arguments to be part of the call.
\item[\code{x}] an arbitrary \R{} object.
\end{ldescription}
\end{Arguments}
\begin{Value}
\code{call} returns an unevaluated function call, that is, an
unevaluated expression which consists of the named function applied to
the given arguments (\code{name} must be a quoted string which gives
the name of a function to be called).

\code{is.call} is used to determine whether \code{x} is a call (i.e.,
of mode \code{"call"}).

It is not possible to coerce objects to mode call (objects either are
calls or they are not calls).  \code{as.call} returns its argument if
it is a call and otherwise terminates with an error message.\end{Value}
\begin{SeeAlso}\relax
\code{\Link{do.call}} for calling a function by name and argument
list;
\code{\Link{Recall}} for recursive calling of functions;
further
\code{\Link{is.language}},
\code{\Link{expression}},
\code{\Link{function}}.\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
is.call(call) #-> FALSE: Functions are NOT calls

# set up a function call to round with argument 10.5
cl <- call("round", 10.5)
is.call(cl)# TRUE
cl
# such a call can also be evaluated.
eval(cl)# [1] 10
\end{ExampleCode}
\end{Examples}

