macos - listas - ¿Cuál es la mejor implementación de Scheme o LISP para OS X?
funcion lambda scheme (14)
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 agradables pero no esenciales.
He observado el esquema Plt y MIT y, aunque ambos se ven bastante bien, el Plt parece ser más rico en funciones. También he observado las implementaciones de Lisp, pero todas parecen bastante caras.
Estoy a favor de implementaciones gratuitas / baratas, ya que es muy probable que solo se trate de programación de pasatiempos ocasionales. ¿Qué recomendaciones tendrías?
Es posible que desee ver lo que hay en la Asociación de usuarios de Lisp o en el Wiki de Common Lisp para ver qué hay allí. Me establecí con Steel Bank Common Lisp y Emacs, pero he hecho muy poco hasta el momento.
Experimenté bastante con esto.
Clozure Common Lisp (né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.
MIT Scheme funciona muy bien en una Mac. Creo que eventualmente lo compilé yo mismo, pero hay binarios en ese sitio. PLT Scheme también es agradable, y posiblemente esté un poco mejor integrado en el mundo Mac. (El esquema PLT ahora se conoce como racket-lang.org , pero no he experimentado con él después del cambio).
He descubierto que Chicken funciona bien para Scheme y está disponible a través de homebrew.
brew install chicken
La mayoría del código del SICP funciona con modificaciones menores.
Me he estado haciendo la misma pregunta últimamente. Habiendo usado DrScheme en OS X, sería mi primera opción de distribución de Scheme para cualquier plataforma. Muy bonito IDE, funciones de depuración y un buen conjunto de bibliotecas / frameworks (incluyendo un buen kit de herramientas GUI que ''solo funciona ... incluso en Mac'' ;-))
Sin embargo, ahora estoy buscando un ambiente similarmente cómodo para Common Lisp. Todo se redujo a CCL (OpenMCL) versus SBCL. SBCL parece ser la elección popular, pero he leído que en OS X no es compatible con el enhebrado. (¿Es esto realmente un problema?). Clozure CL, por otro lado, cuenta con un buen soporte para hilos nativos, obcj-bridge, etc.
Estoy descubriendo que CCL es un poco extraño, pero lo voy a seguir por un tiempo: todavía parece la opción lógica para la integración.
Yo uso Emacs 23 (construido desde la fuente usando --with-ns) y Slime como entorno y esto funciona bien para mí. :-)
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 adecuado para la programación de un hobby.
En el pasado, tuve GNU Common Lisp ejecutándose en mi macbook pro.
Para Scheme, DrRacket es increíble (incluido en Racket ).
Para Common Lisp, Ready Lisp es genial. Una única dmg con SBCL, Aquamacs y Slime funcionando de la caja.
Desde el sitio web:
Ready Lisp es un enlace de varios paquetes populares de Common Lisp especialmente para Mac OS X, incluyendo: Aquamacs, SBCL y SLIME. Una vez descargado, tendrá un solo paquete de aplicaciones en el que puede hacer doble clic y encontrarse 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 profesores para darles a sus estudiantes de Mac un entorno de Common Lisp completo y gratuito 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 de componentes:
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
Recomiendo Racket a los recién llegados, ya que proporciona uno de los mejores IDE para los principiantes de Scheme (o mejor dicho, los principiantes de programación que están usando Scheme, o mejor aún, trabajando en HtDP).
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 Scheme.
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 de optimización muy agresivo).
Según cómo defina "Lisp", Clojure puede ajustarse a la factura. Se ejecuta en OS X fine (se ejecuta en cualquier lugar donde se ejecute JVM). Tiene capacidades web y es gratis.
También tiene el beneficio de ser nuevo, fresco y divertido de usar. Puede ser ideal para la programación de hobby. Es fácil escribir aplicaciones web o aplicaciones GUI (usando Java''s Swing o incluso Qt).
Si está buscando Scheme, puede echar un vistazo al recién lanzado JazzScheme .
Si solo eres un 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 estará escribiendo servidores de larga ejecución, pero eso no significa que no sea una herramienta útil.
CLISP se ejecuta en casi todo, y es bastante agradable en realidad, simplemente no hace hilos. (Importante si desea escribir un servidor real, pero como PHP y Perl nos han mostrado, Apache + [insertar idioma] es una plataforma muy viable).
Soy un gran fan de Clojure, SBCL y Clozure CL. Todos son fantásticos, pero también son exagerados si lo único que quieres hacer es actualizar tus chuletas de Lisping. Todos requieren cantidades absurdas de búsqueda de información, búsqueda de listas de correo, instalación de paquetes, acecho, etc.
Dr Scheme solo se instala y se ejecuta. Terminé los primeros 3 capítulos del SICP hace cuatro años y medio con el Dr. Scheme. Nada era más profundo que definir un evaluador del Esquema en sí mismo. Una vez que entiendas que tendrás mucha más paciencia para los hermanos de la fuerza industrial.
Yo iría con Racket. Puede que no sea tan rápido como SBCL, pero tiene excelentes bibliotecas y documentación, así como también un entorno integrado que está diseñado para que desarrolle y ejecute programas Scheme directamente desde la puerta de embarque. Lo que realmente me gusta del IDE de Racket, DrRacket, es lo que no tienes que hacer: no tienes que aprender Emacs, no tienes que aprender SLIME, no tienes que preocuparte por buscar a terceros. bibliotecas de fiestas, ya que prácticamente todas las bibliotecas destinadas a Racket se pueden encontrar en packages . Con todo, realmente reduce la curva de aprendizaje y te permite concentrarte en la tarea real: escribir un código excelente.
Además, viene con un servidor web si desea crear sitios web con Racket (que actualmente estoy buscando).
¡Clozure CL está disponible de forma gratuita en la tienda Mac!