A function invocation has the general form

 NameOfFunction(FirstParameter, SecondParameter, ...)

There are two kinds of functions, elementary functions and regular functions.

Elementary Functions

Elementary functions are built into the interpreter core. They perform elementary computations, much like built-in operators. An elementary function is recognized whenever its name appears followed by a "(" in an expression, even if there is a variable or property of the same name.

You cannot define own elementary functions. Some of these functions have a special syntax, that is, parameters that don't follow regular rules, are evaluated in a different order than for regular functions, or not at all.

See Elementary Functions for a list of elementary functions.

Regular Functions

Regular functions behave regularily: first, their parameters are evaluated, then, the function is invoked to produce a result.

PCC comes with many regular functions predefined. Those perform computations, or access object contexts. In PCC2, you can also define your own functions using the Function command (PCC 1.x does not allow user-defined functions). Those functions are available globally unless a local variable or property "shadows" them.

Some contexts provide object-specific functions which are documented as properties of the object, for example, the HasFunction ship property.

See Functions for a list of regular global functions, Contexts for a list of context functions.