Instalando guile y Geiser

Herramientas para trabajar con emacs. Geiser incluye un REPL o algo así. Desde emacs se puede ejecutar todo.
Definiendo segmentos

Para SICP, just for the hell of it
```
scheme@(guile-user)> (print (make-point 1 2))

1, 2scheme@(guile-user)> (print-segment (make-segment (make-point 0 0) (make-point 1 2)))
;;; <stdin>:143:0: warning: possibly unbound variable `print-segment'
;;; <stdin>:143:15: warning: possibly unbound variable `make-segment'
<unnamed port>:143:0: In procedure #<procedure 1c3d520 at <current input>:143:0 ()>:
<unnamed port>:143:0: In procedure module-lookup: Unbound variable: print-segment

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> (print-segment (make-segment (make-point 0 0) (make-point 1 2)))

(0 . 0) -- (1 . 2)
scheme@(guile-user) [1]>
```
Vamos a por el ejercicio
Paseo por el let

Y concluyendo que las definiciones de variables no le gustan a los lenguajes funcionales, al final consigo hacer el ejercicio 2.1 de SICP. No es que vaya a hacer muchos más, pero por lo menos este se queda hecho.

Ya estoy empachado de paréntesis.