(defun nombre ([val...] [ & ref...] [ / loc...]) expr...)
Define una función de usuario.
Argumentos
nombre
El símbolo que nombra la función.
val
Los nombres de los argumentos traspasados por valor a la función.
ref
Los nombres de los argumentos traspasados por referencia a la función.
loc
Los nombres de las variables locales de la función.
expr
Una o más expresiones Prolan.
Valor de Retorno
El resultado de la última expresión evaluada.
Observaciones
La función defun sobreescribe cualquier otra función de usuario definida previamente con el mismo nombre y produce una excepción si éste coincide con el de alguna función predefinida de Prolan en cualesquiera de los idiomas implementados.
Los paréntesis después del nombre de la función deben especificarse siempre aunque no se declare ningún argumento ni variable local.
Los caracteres & (ampersand) y / (barra inclinada) que preceden a los argumentos por referencia y las variables locales, respectivamente, deben separase por al menos un espacio en blanco, antes y después.
Si se especifican nombres de argumentos o variables duplicados, Prolan utiliza la última ocurrencia de cada nombre ignorando las anteriores.
Ejemplos
(defun mifunc (x y) ...) Dos argumentos por valor
(defun mifunc (x & y) ...) Un argumento por valor y uno por referencia
(defun mifunc (/ a b) ...) Dos variables locales
(defun mifunc (x & y / a) ...) Un argumento por valor, uno por referencia y una variable local
(defun mifunc () ...) No tiene argumentos ni variables locales