4. Preparando el entorno de desarrollo
El primer paso será preparar nuestro entorno de desarrollo. Iremos directamente a la creme de la creme en cuanto al ecosistema de Common Lisp. Instalaremos SBCL (Steel Bank Common Lisp) como intérprete de Common Lisp y Emacs como IDE o editor de código. Daré por sentado que tienes conocimientos básicos de programación y sabes utilizar, aunque sea de forma básica, Emacs.
Antes de continuar vamos a entender que es cada pieza del entorno que vamos a instalar:
- SBCL: Es un compilador e intérprete de Common Lisp. Se encarga de ejecutar nuestro código.
- Emacs: Un editor de texto muy potente y extensible, altamente utilizado en las comunidades de Lisp. Técnicamente hablando es un intérprete de Emacs Lisp en sí mismo, pero eso no es relevante para nosotros en este momento.
- SLIME: Es un entorno de desarrollo para Common Lisp que se integra con Emacs. Proporciona características como autocompletado, depuración y evaluación interactiva de código.
- Quicklisp: Es un gestor de paquetes para Common Lisp que facilita la instalación y gestión de bibliotecas.
Ahora ya podemos empezar.
Si estás trabajando en Linux, debes instalar los paquetes sbcl, slime y emacs. En Debian/Ubuntu puedes hacerlo ejecutando el siguiente comando en la terminal:
sudo apt-get install sbcl slime emacs
Si estás utilizando macOS, puedes instalar SBCL y Emacs utilizando Homebrew. Ejecuta los siguientes comandos en la terminal:
brew install sbcl emacs
En cambio, en Windows, deberás descargar los instaladores desde las páginas oficiales o plantearte usar Portacle.
Ahora instalaremos Quicklisp, el gestor de paquetes más popular en el ecosistema de Common Lisp. Abre una terminal y ejecuta los siguientes comandos:
curl -o /tmp/ql.lisp http://beta.quicklisp.org/quicklisp.lisp
sbcl --no-sysinit --no-userinit --load /tmp/ql.lisp \
--eval '(quicklisp-quickstart:install :path "~/.quicklisp")' \
--eval '(ql:add-to-init-file)' \
--quit
sbcl --eval '(ql:quickload :quicklisp-slime-helper)' --quit
Después añade a tu archivo de configuración de Emacs, ~/.emacs.d/init.el, las siguientes líneas para cargar Quicklisp automáticamente al iniciar SLIME:
(load (expand-file-name "~/.quicklisp/slime-helper.el"))
(setq inferior-lisp-program "sbcl")
Abre Emacs y ejecuta M-x slime para iniciar SLIME. Deberías ver un REPL (Read-Eval-Print Loop) de Common Lisp. Escribe:
(+ 2 3)
y presiona Enter. Deberías ver el resultado 5.
¡Ya estamos listos!
Cuando hagas un ejercicio, te recomiendo que sigas el siguiente flujo de trabajo:
- Creas un archivo nuevo con el nombre del problema, por ejemplo
p01.lisp. - Ejecutas
M-x slimeen Emacs para abrir el REPL de SLIME. - Cuando quieras evaluar tu código, coloca el cursor en la función y pulsa
C-c C-c. Esto compilará y cargará la función en el REPL. - Para probar la función, puedes escribir el código en el REPL directamente o crear una función en el archivo, colocar el cursor al final de la expresión y usar la combinación
C-x C-e. Mostrará el resultado en el REPL.
Y con esto ya estamos listos para aprender los conceptos básicos del lenguaje.
This work is under a Attribution-NonCommercial-NoDerivatives 4.0 International license.
Desafíos de programación atemporales y multiparadigmáticos
Te encuentras ante un librillo de actividades, divididas en 2 niveles de dificultad. Te enfrentarás a los casos más comunes que te puedes encontrar en pruebas técnicas o aprender conceptos elementales de programación.
Buy the book
Comments
There are no comments yet.