In a general sense, a function is a rule for carrying on a computation given several values called arguments. The result of the computation is called the value of the function. The computation can also have side effects: lasting changes in the values of variables or the contents of data structures.
Here are important terms for functions in SXEmacs Lisp and for other function-like objects.
command-execute can invoke.
Some functions are commands; a function written in Lisp is a command if
it contains an interactive declaration. A trivial interactive
declaration is a line (interactive) immediately after the
documentation string. For more complex examples, with prompting and
completion, see See Defining Commands. Such a function can be called
from Lisp expressions like other functions; in this case, the fact that
the function is a command makes no difference.
Keyboard macros (strings and vectors) are commands also, even though they are not functions. A symbol is a command if its function definition is a command; such symbols can be invoked with M-x. The symbol is a function as well if the definition is a function.
In the case where you want to call a command in reaction to a
user-generated event, you'll need to bind it to that event. For how to
do this, see See Key Binding Commands.
See Command Overview.
car or append. These functions are also called
built-in functions or subrs. (Special forms are also
considered primitives.)
Usually the reason that a function is a primitives is because it is
fundamental, because it provides a low-level interface to operating
system services, or because it needs to run fast. Primitives can be
modified or added only by changing the C sources and recompiling the
editor. See Writing Lisp Primitives.