FUNCIONES EN LISP
Las siguientes son las funciones que conforman el cuerpo de las funciones de LISP, sólo se incluyen en la tabla las funciones que se presentan en la mayoría de las versiones de LISP (incluyendo las vistas anteriormente).
abs | and | append | apply | assoc | map |
car | cdr | close | cond | mapc | difference (-) |
defun (de,df) | dm(macro) | eq | equal | eval | explode |
function | gensym | get | getd | go | greaterp(gt) |
intern | lambda | length | list | mapcan | mapcar |
lessp (It) | expt | fix | fixp | float | floatp |
mapcon | maplist | max | min | nconc | not |
numberp | null | open | or | princ | |
prin1 | prog | progn | put | quote (‘) | quotient (/) |
read | remainder | remob | remprop | return | reverse |
rplaca | rplacd | set | setq | subst | plus (+) |
terpri | times (*) | cons | atom |
Forma general:
Una función en LISP se escribe siempre de la siguiente
(nombre argl arg2…)
«Nombre» identifica a la función y «argl», «arg2», … son los argumentos a los que se aplica la función. Por ejemplo: (+ 2 3) denota la suma 2 + 3, mientras que (list 2 3) denota la construcción de una lista cuyos elementos son 2 y 3, lo que se presenta como: (2 3)
Las funciones pueden anidarse arbitrariamente, en cuyo caso se evalúan de «dentro a fuera». Por tanto,
(+ (* 2 3) 4)
denota la suma de (2*3) y 4. Además, una lista de funciones se evalúa de izquierda a derecha. Por ejemplo,
(-(+23)(*34))
denota la diferencia de la suma 2 + 3 seguida del producto 3 * 4.
0 comentarios