2.2.4. Funciones Definidas por el Usuario

Un programa grande suele dividirse en una serie de pequeñasformas o funciones de usuario más fáciles de implementary depurar. Las mismas se componen a partir de llamadas a las funcionesprimitivas. Estas llamadas tendrán la forma de listas que podránanidarse unas dentro de otras de acuerdo a lo que requiera la complejidad de lamanipulación que quiera realizarse de los datos aportados comoargumentos. Para la definición de funciones de usuario normalmenteutilizaremos la forma especial DEFUN. Otramanera de representar funciones de usuario son las expresionesLAMBDA. El estudio de su relación conDEFUN contribuirá a una mejor comprensión del proceso. La cargade las funciones de usuario guardadas en ficheros se realiza mediante lafunción LOAD. Un fichero en que seguarda un programa LISP contiene las distintas formas o funciones deusuario, una a continuación de la otra, terminando por la funciónque debe invocarse para iniciar la ejecución del programa. Esto se debea que la función LOAD imprimirá en pantalla el nombre de laúltima forma evaluada. El nombre de esta función inicial se suelecomenzar con los caracteres "C:" lo que indica al sistema que dichafunción de usuario debe tratarse como si fuera un comando nativo deAutoCAD, en el sentido de que pueda invocarse tecleando el nombre (sin elprefijo "C:") sin encerrarlo entre paréntesis. Unafunción de este tipo no admite argumentos en su lista deparámetros, aunque sí la declaración de variables locales.