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:

  1. Creas un archivo nuevo con el nombre del problema, por ejemplo p01.lisp.
  2. Ejecutas M-x slime en Emacs para abrir el REPL de SLIME.
  3. 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.
  4. 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

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

Will you buy me a coffee?

Comments

There are no comments yet.

Visitors in real time

You are alone: 🐱