\HeaderA{Primitive}{Call a ``Primitive'' Internal Function}{Primitive}
\aliasA{.Primitive}{Primitive}{.Primitive}
\aliasA{primitive}{Primitive}{primitive}
\keyword{interface}{Primitive}
\begin{Description}\relax
\code{.Primitive} returns an entry point to a \dQuote{primitive}
(internally implemented) function.
\end{Description}
\begin{Usage}
\begin{verbatim}
.Primitive(name)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{name}] name of the \R{} function.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
The advantage of \code{.Primitive} over \code{\LinkA{.Internal}{.Internal}}
functions is the potential efficiency of argument passing.  However,
this is done by ignoring argument names and using positional matching
of arguments, so this is discouraged for functions of more than one
argument.

All primitve functions are in the base name space.
\end{Details}
\begin{SeeAlso}\relax
\code{\LinkA{.Internal}{.Internal}}.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
mysqrt <- .Primitive("sqrt")
c
.Internal # this one *must* be primitive!
get("if") # just 'if' or 'print(if)' are not syntactically ok.
\end{ExampleCode}
\end{Examples}

