lunes, noviembre 12, 2007

Lisp, 4ª lección, segunda parte

Bueno, y ahora hablemos un poco de funciones superfluas.

LET*

Si nos fijamos un poquito nos damos cuenta de que...
Se puede sustituir LET* por un LET dentro de otro LET:

Si hacemos

(let ( (x 100)
)
(let ( (y (+ x 200)))
)
)




Comprobamos que es totalmente equivalente a...



(let* ( (x 100)
(y (+ x 200))
)

)


¡Ja! así que podemos prescindir de LET* tranquilamente.

Hay muchas otras funciones prescindibles.

Por ejemplo la función SECOND.

Second sirve para elegir el segundo elemento de una lista.



(second '(a b c)
> b



En la primera lección de Lisp vimos las funciones FIRST y REST.

Podemos definir una nueva función llamada SEGUNDO.



(defun segundo (lista)
(first (rest lista))
)




(segundo '(a b c))
> b



De esta forma podemos hacer nuestro propio LISP fácilmente.

No hay comentarios: