May 09 2013
SBCL en emacs
SBCL es un compilador para Common Lisp muy especial, que significa Steel Bank Common Lisp, algo asi como Banco de Acero de Common Lisp. SBCL es un compilador de alto rendimiento para CL que provee un entorno interactivo, un debugger, un profiler estadistico, herramientas de cobertura para codigo asi como otras muchas extensiones. SBCL tiene soporte para unicode asi como threading. El nombre de SBCL tiene origen en referencia a Carnegie Mellon University Common Lisp (CMUCL) del cual SBCL es un fork; Andrew Carnegie hizo su fortuna mediante la industria del acero y Andrew _Mellon fue un banquero exitoso.
El punto principal de divergencia en el tiempo en el que se creo este fork, fue un procedimiento de bootstrapping limpio: CMUCL requiere un binario compilado y ejecutable de si mismo para poder compilar el codigo fuente CMUCL, mientras que SBCL soporta bootstrapping de cualquier compilador que cumpla la implementacion de ANSI CL.
Lo cierto es que no difiere absolutamente nada de la configuracion de CLISP en emacs para emplear SBCL en el mismo entorno. Tan solo deberemos instalar y especificar donde se encuentra el binario SBCL de la misma forma que lo hicimos previamente con CLISP.
(setq inferior-lisp-program «/usr/bin/sbcl –noinform»)
Ahora bien, podemos instalar SBCL desde apt o nuestra aplicacion de control de paquetes favorita de manera bastante sencilla, o bien podemos probar la esencia de un compilador que se compila a si mismo. Nos valdria cualquier compilador que como ya hemos mencionado, cumpla el estandar ANSI CL, tambien podriamos usar el propio SBCL para compilar SBCL. En su dia ya lo explicamos para usar stumpwm (que puede usar o bien CLISP o bien SBCL) aunque aqui lo usamos para un proposito diferente y explicamos su esencia, asi que volveremos a hacerlo, aunque esta vez usando tan solo apt por rapidez.
Primero necesitaremos instalar ASDF (Another System Definition Format) que sirve para poder realizar instalaciones de distintas bibliotecas para CL, seria lo analogo a Make.
# apt-get install cl-asdf
Despues de instalar ASDF podemos realizar la instalacion de ciertas bibliotecas en las cuales estamos interesados como por ejemplo Cl-pcre (biblioteca de CL que brinda la oportunidad de usar expresiones regulares de Perl en CL, siendo compatible con dicho lenguaje, rapido y portable entre distintas implementaciones que siguen el ANSI CL, ademas de ser seguro para threads y permitiendo usar s-expressions para los regexp) y tambien instalaremos CLX (Biblioteca cliente para CL para el sistema estandar X Window, equivalente a Xlib para C, sin embargo CLX esta escrito completamente en CL y no usa Xlib. CLX ademas contiene tipos de datos, funciones y macros para interactuar con el servidor de las X mediante el envio de peticiones y recepcion de eventos y sus respuestas.
# apt-get install sbcl
# apt-get install cl-ppcre
# apt-get install cl-clx-sbcl
Ahora ejecutemos emacs y dentro del mismo ejecutemos M-x run-lisp, podemos ver el resultado del siguiente codigo CL interpretrado:
Se puede encontrar el manual completo de SBCL en su web oficial, asi como un manual que describe como esta implementado.