La estructura favorita de Lisp es la lista, y su nombre lo dice: LISt Processing, procesar listas. Una lista es como un tren: cada vagón lleva un dato y sabe cuál vagón va detrás.
'(1 2 3)es un tren con tres vagones. La comilla dice «esto son datos, no una operación».(car tren)da el primer vagón.(cdr tren)da el resto del tren, sin el primero.(cons 0 tren)arma un tren nuevo con un vagón 0 delante.'()es el tren vacío.
Ojo: cons no cambia el tren original. Arma uno nuevo. Esa es la regla de oro de las funciones.
Para pensar
- ¿Qué fue fácil?
- ¿Qué fue difícil?
- ¿Otro paradigma lo habría resuelto mejor? ¿Cuál y por qué?