Pregunta

Estoy buscando una versión de Scheme o incluso LISP que pueda usar para recuperar algunas habilidades de desarrollo de Lisp perdidas. Algunas capacidades web serían buenas pero no esenciales.

He mirado el esquema Plt y MIT y, si bien ambos se ven bastante bien, el Plt parece tener más funciones. También he examinado las implementaciones de Lisp, pero todas parecen bastante caras.

Estoy a favor de implementaciones gratuitas / económicas, ya que es probable que esto sea solo una programación de hobby ocasional. ¿Qué recomendaciones tendrías?

¿Fue útil?

Solución

Yo iría con Racket. Puede que no sea tan rápido como SBCL, pero tiene excelentes bibliotecas y documentación, así como un entorno integrado que está diseñado para que desarrolle y ejecute programas Scheme directamente. Lo que realmente me gusta del IDE de Racket, DrRacket, es lo que no tienes que hacer & # 8212; no tienes que aprender Emacs, no tienes que aprender SLIME, no tienes que preocuparte por cazar bibliotecas de terceros, ya que prácticamente todas las bibliotecas destinadas a Racket se pueden encontrar en paquetes . Con todo, realmente reduce la curva de aprendizaje y le permite concentrarse en la tarea actual: escribir un gran código.

Además, viene con un servidor web si desea hacer Racket- sitios web activos (que actualmente estoy buscando).

Otros consejos

Experimenté bastante con esto.

Clozure Common Lisp (n & # 233; e Open MCL) es, con mucho, el más rápido ; 25-30 por ciento más rápido que el próximo competidor en mi Intel Mac Mini.

El esquema MIT funciona bastante bien en una Mac. Creo que finalmente lo compilé yo mismo, pero hay binarios en ese sitio. El esquema PLT también es bueno, y posiblemente un poco mejor integrado en el mundo Mac. (El esquema PLT ahora se conoce como Racket , pero no he experimentado con él después del cambio. )

Soy un gran admirador de Clojure, SBCL y Clozure CL. Todos son fantásticos, pero también son excesivos si todo lo que quieres hacer es actualizar tus habilidades de Lisping. Todos requieren cantidades absurdas de búsqueda de información, búsqueda en listas de correo, instalación de paquetes, irc al acecho, etc.

Dr Scheme simplemente se instala y se ejecuta. Terminé los primeros 3 capítulos de SICP hace cuatro años y medio usando el Dr. Scheme. Nada fue más profundo que definir un evaluador del Esquema en sí mismo. Una vez que comprenda, tendrá mucha más paciencia para los hermanos de la fuerza industrial.

Para el esquema, DrRacket es increíble (incluido en Raqueta ).

Para Common Lisp, Listo Lisp es excelente. Un único dmg con SBCL, Aquamacs y Slime funcionando de la caja.

Desde el sitio web:

  

Ready Lisp es un enlace de varios paquetes comunes de Common Lisp especialmente para Mac OS X, que incluyen: Aquamacs, SBCL y SLIME. Una vez descargado, tendrá un paquete de aplicaciones único en el que puede hacer doble clic en & # 8212; y encuéntrese en un Common Lisp REPL completamente configurado.

     

Es ideal para usuarios de OS X que quieran probar la belleza de Common Lisp con un mínimo de molestias. También podría ser utilizado por los maestros para brindar a sus alumnos de Mac un entorno Common Lisp gratuito y completo para llevar a casa con ellos.   Requisitos

     

La versión actual de Ready Lisp es 20090127 y requiere Mac OS X 10.5 (Leopard).

     

Incluye las siguientes versiones de software componente:

Aquamacs  1.6
SBCL    1.0.24
SLIME   2009-01-23
CL-FAD  0.6.2
CL-PPCRE    2.0.1
LOCAL-TIME  0.9.3
SERIES  2.2.10
CL HyperSpec    7.0
paredit.el  20
redshank.el     1
cldoc.el    1.16

Acabo de empezar a jugar con Clojure . Aparentemente tiene un buen marco web , y se compila en el código de bytes JVM.

También uso mucho DrScheme . Es un IDE simple pero útil.

Dependiendo de cómo defina " Lisp " ;, Clojure puede ajustarse a la factura. Se ejecuta en OS X bien (se ejecuta en cualquier lugar donde se ejecute la JVM). Tiene capacidades web y es gratis.

También tiene la ventaja de ser nuevo, fresco y divertido de usar. Podría ser ideal para la programación de pasatiempos. Es fácil escribir aplicaciones web o aplicaciones GUI (usando Swing de Java o incluso Qt).

No lo he usado yo mismo, pero Steel Bank Common Lisp ha recibido algunos comentarios favorables en reddit. Es de código abierto y gratuito, por lo que el precio es el adecuado para algunos programas de hobby.

En el pasado, tuve GNU Common Lisp ejecutándose en mi macbook pro.

Si está buscando un esquema, puede echar un vistazo a JazzScheme recién lanzado.

Recomiendo Racket a los recién llegados, ya que proporciona uno de los mejores IDE para principiantes de Scheme (o más bien, para principiantes de programación que están usando Scheme, o mejor aún, trabajando a través de HtDP).

http://racket-lang.org/

Otra opción, para las personas que están más interesadas en un pequeño sistema Scheme para modificarlo ellos mismos o leer su código fuente, es Larceny Scheme, que es de gran interés porque su compilador JIT, Twobit, se implementa por completo en Esquema.

http://www.larcenists.org/


Actualización: Además, Chez Scheme ha sido abierto recientemente:

https://github.com/cisco/ChezScheme

(Puede que no sea tan pequeño como Larceny, pero tiene un compilador optimizador muy agresivo).

Es posible que desee ver qué hay en la Asociación de usuarios de Lisp o Wiki de Lisp común para ver qué hay allí. Me preparé con Steel Bank Common Lisp y Emacs, pero hasta ahora he hecho poco con eso.

Si solo es un programa de hobby, LispWorks tiene una versión gratuita y personal que es bastante poderosa y sofisticada. Su mayor problema es un límite de tiempo de ejecución de varias horas. Por lo tanto, no escribirá ningún servidor de larga ejecución en él, pero eso no significa que no sea una herramienta útil.

CLISP se ejecuta en casi todo, y en realidad es bastante bueno, simplemente no hace hilos. (Importante si desea escribir un servidor real, pero como nos han demostrado PHP y Perl, Apache + [insertar lenguaje] es una plataforma muy viable).

¡

Clozure CL está disponible de forma gratuita en la tienda Mac!

http://itunes.apple.com/us/app/clozure- cl / id489900618

Últimamente me he estado haciendo la misma pregunta. Habiendo usado DrScheme en OS X, sería mi primera opción de distribución de Scheme para cualquier plataforma. Muy buen IDE, características de depuración y un buen conjunto de bibliotecas / marcos (incluido un muy buen kit de herramientas GUI que 'simplemente funciona ... incluso en Mac' ;-))

Sin embargo, ahora estoy buscando un entorno similarmente cómodo para Common Lisp. Se redujo a CCL (OpenMCL) versus SBCL. SBCL parece ser la opción popular, pero leí que en OS X no es compatible con subprocesos. (¿Es esto realmente un problema?). Clozure CL, por otro lado, cuenta con un buen soporte para hilos nativos, el puente obcj, etc ...

Encuentro CCL un poco extraño, pero voy a mantenerlo por un tiempo. Todavía parece la opción lógica para la integración.

Uso Emacs 23 (construido a partir de la fuente usando --with-ns) y Slime como entorno y esto funciona bien para mí. :-)

He descubierto que Chicken funciona bien para Scheme y está disponible a través de homebrew.

brew install chicken

La mayor parte del código de SICP funciona con modificaciones menores.

Vaya con Racket . Estoy muy feliz con eso!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top