From the NannyMUD documentation

LAST CHANGE

2000-12-23

TOPIC

NAME

        function - Functions in LPC.

DESCRIPTION

	A locally defined function can have any number of
	arguments. All basic types can be sent in the argument. A
	return value is sent with the 'return' statement. All four
	data types can be used in the return statement. The type of
	the function is optional. If the type is given, typechecking
	is enabled for that function. If strict_types is used,
	typechecking is used for the whole file and you have to
	declare the type of functions.

	Uninitialized arguments are set to 0.

	The type of the argument must not be declared (except for 'static').
	It is illegal to have a function with the same name as a global
	function, or local variable. Functions are reentrant.

	If there is no return statement, the number 0 will be returned.

	function_name(argument1, argument2 ...)
	{
	    local variables;
	    ...
	    statements;
	    ...
	    return value;
	}

	Functions in other objects can be called with:
		'call_other(ob, "fun", arg...)'.

	This an also be written:
		 'ob->fun(arg...)',
	 which is nicer syntax.

	A function can have the type 'static', and it will not be possible to
	call with call_other() from another object.

	A function can have the type 'private', in which case it will not be
	possible to call from inheriting objects.

	A function can have the type 'nomask', in which case it cannot be
	shadowed.