El paradigma funcional está basado en el modelo matemático de composición funcional. En este modelo, el resultado de un cálculo es la entrada del siguiente, y así sucesivamente hasta que una composición produce el valor deseado.
No existe el concepto de celda de memoria que es asignada o modificada. Más bien, existen valores intermedios que son el resultado de cálculos anteriores y las entradas a cálculos subsiguientes. Tampoco existen sentencias imperativas y todas las funciones tienen transparencia referencial.
incorporando los siguientes elementos en su expresión más simple:
a) Funciones primitivas predefinidas:
Tratamiento de listas
CAR Devuelve la cabeza de la lista
CDR Devuelve la cola de la lista
CONS Construye una lista CONS a partir de otras dos
LIST Construye una lista a partir de varias sublistas
Asignación, relaciones booleanas y predicados
SET y SETQ Evalúan sus argumentos
EQ Comprueba si dos argumentos son iguales
GREATERP y LESSP Compara si el arg 1 es mayor/ menor que el 2
NULL Comprueba si la lista es nula
ATOM LISTP NUMBERP Averiguan el tipo de un objeto
OR, AND y NOT Predicados de suma, multiplicación y negación
Aritméticas
PLUS, DIFERENCE, TIMES, QUOTIENT, REMAINDER Suma, resta, multiplicación, cociente, resto
Condicionales e iterativas
COND Condicional con varios predicados
LOOP Función iterativa no declarativa
b) Formas funcionales para crear y combinar funciones
DEFUN Función que permite crear otras funciones
c) Objetos de datos
LISP dispone de esta estructura como fundamental
Un programa LISP utiliza:
Átomos Cadenas de números o caracteres
Identificadores Son átomos no numéricos
|