2009-12-08 23 views
14

Quiero aprender y usar SBCL debido a su facilidad de aprendizaje y velocidad. (He estado jugando con Lisp hace 3 años, y ahora lo estoy refrescando). Pero, ¿cómo puedo saber qué se incluye en la biblioteca estándar, para que no vuelva a implementar las cosas?¿Documentación estándar de la biblioteca SBCL?

Después de Python esto es como una pesadilla: el sitio web tiene un SBCL manual que cubre el software única, ni una palabra en la biblioteca estándar. (En comparación, la página web de GNU Common Lisp tiene únicas fuentes y binarios.)

Respuesta

19

En primer lugar: el problema no es realmente SBCL específica. La biblioteca de CL está estandarizada y, por lo tanto, puede usar la documentación de cualquier ceceo.

Como se mencionó, el CL HyperSpec es muy útil. Sin embargo, es una referencia y, por lo tanto, no es muy adecuado para aprender en mi opinión.

Para aprender, hay varios libros por ahí. Personalmente, me gusta esto mucho:

También debe buscar en el código existente. Disfruté mucho leyendo cualquiera de las librerías de Edi Weitz, pero me extendí y leí de diferentes fuentes para ver cómo otras personas usan Lisp y su gran biblioteca para resolver problemas.

Si puede pasar tanto tiempo, puede incluso iniciar sesión en IRC (el canal #lisp) y hacer preguntas allí. O escriba el código que ha escrito en comp.lang.lisp y solicite una crítica para obtener información mediante comentarios directos.

+0

Gracias por un gran puesto. He estado aprendiendo Lisp por un tiempo en 2006-2007, pero lo que me detuvo entonces fue la falta de una aplicación de la vida real para mí (ahora hay una) y este problema tan común. –

3

Además, si está aprendiendo lisp, considere usar CLISP en lugar de SBCL. CLISP tiene (en mi humilde opinión) un depurador mucho más intuitivo. Para cualquier cosa que no sea de producción, la diferencia entre la mayoría de las implementaciones de Common Lisp es insignificante.

+0

Por qué me gustó SBCL es que compila archivos sobre la marcha ('sbcl --file ' y aquí va a la velocidad de la luz). No pude encontrar la manera de hacerlo en otras implementaciones. También echaré un vistazo a CLISP, gracias. –

+3

El depurador de CLISP es muy bueno, pero usar el depurador SBCL ** a través de su interfaz SLIME ** no es del todo desagradable. Si desea utilizar su CL desde una sesión de línea de comando real, CLISP es la mejor opción de IMO simplemente por tener Readline integrado. Si está utilizando SLIME, es una llamada más difícil. – Pillsy

+1

@Pillsy Definitivamente puedo simpatizar, pero también me gustaría mencionar que las fallas en la línea de comando de sbcl pueden ser (relativamente) fáciles de solucionar instalando 'linedit 'a través de quicklisp. Le da finalización de lectura y tabulación. – FizzixNerd

1

Si está desarrollando en Windows, CLHS (Common Lisp hyperspec) y CLtL2 (Common Lisp la Lengua, 2ª edición) están disponibles como archivos de ayuda CHM, lo que hace que buscan CL funciones de la librería estándar mucho más fácil. Encuentro que es más rápido que usar la versión HTML (en línea o fuera de línea).

Los archivos CHM probablemente están disponibles en más de una fuente. Una descarga conveniente es:

http://www.daansystems.com/lispide/

(-Están incluido con el paquete LispIDE.)

Cuestiones relacionadas