2008-11-04 14 views

Respuesta

51

Use MIT Scheme.

Es recomendado por los autores de SICP, y se utiliza en MIT para el 6.001: Estructura e Interpretación de Programas de Computadora curso.

+3

Pero el esquema MIT no parece tener una compilación para linux x86_64 – f4hy

+12

Lo que no me gustó de MIT Scheme fue que no pude entender cómo simplemente ejecutar un guión de esquema desde la línea de comandos y tener su salida que se muestra en mi consola, de la misma manera que esperaría ejecutar un script de Python o Ruby. ¿Estaba siendo extremadamente denso? ¿Cómo se logra esto, sin lanzar el gran entorno interactivo basado en Emacs y luego tener que abandonarlo nuevamente cada vez? –

+0

hay una versión de 64 bits preconstruida de mit-scheme aquí - [http://www-users.cselabs.umn.edu/classes/Fall-2010/csci1901/mit-scheme-x64_9.0.1-1_amd64.deb] – tutysara

11

MIT/GNU Scheme, sólo asegúrese de cargar la compatibilidad SICP package (sí, proporcionan bibliotecas específicas para mejorar la garantía ejerce la SICP trabajo).

1

PLT Scheme funciona bastante bien, o MIT Scheme como sugirió Keparo. ¿Qué problemas tienes con eso?

70

Utilice Racket (anteriormente PLT Scheme).

El DrRacket IDE es un excelente punto de partida para todas las cosas Scheme incluyendo SICP. Para buscar palabras clave en la documentación, coloque el cursor sobre la palabra clave y presione F1. En DrRacket ahora puede ver las imágenes directamente en REPL (el loop read-eval-print).

SICP Support for DrRacket, por Neil van Dyke.

Actualización: El nuevo paquete SICP está en http://pkgs.racket-lang.org/#[sicp] descargar con el gestor de paquetes (en DrRacket) o utilizar raco. Manual

Update2: Además, si desea probar una nueva implementación del lenguaje de imagen SICP, descargue sicp-pict2.rkt.

+5

Nota : Neil van Dyke ha escrito un muy buen paquete de SICP para Racket. Use esto en lugar de mi anterior. – soegaard

+0

hmm OP preguntó acerca de PLT Scheme que se convirtió en DrScheme y luego DrRacket y finalmente Rocket Lang ahora. – FUD

+0

Advertencia: es imposible instalar de forma segura el paquete de soporte SICP. Cuando ejecuta ese código ('#lang planet neil/sicp'), intenta descargar cosas a través de http simple, por lo que los ataques MitM son posibles. Y al descargar el código que se ejecutará en su máquina, este es un gran problema. La página no está disponible a través de https, eso también significa que puede obtener cualquier cosa en lugar del contenido. Espero que el autor lo arregle en algún momento. –

6

Acabo de comenzar a hacer SICP esta semana.

Actualmente, el esquema MIT está dividido en Ubuntu Linux (9.04 "jaunty"). Podría estar funcionando en el futuro.

DrScheme está funcionando, y funciona bien. Puede usar el paquete de Soegard que figura arriba o el paquete de Neil Van Dyke, que se basa en el paquete de Soegard y está disponible en http://www.neilvandyke.org/sicp-plt/. Lo bueno de este paquete es que cuando se instala, puede usar Idioma | Elegir idioma ... elemento de menú para seleccionar SICP.

0

CHICKEN Scheme tiene un sicp library que proporciona compatibilidad con SICP. Puede instalarlo ejecutando chicken-install sicp y escribiendo esto al comienzo de su código fuente: (use sicp).

3

Esto fue sorprendentemente molesto para hacer en macOS. Así es como funciona a partir de hoy, suponiendo que tiene Homebrew. (Puede que desee ejecutar brew update de vez en cuando).

brew cask install racket 
raco setup # might be optional 
raco pkg install sicp 

Ahora puede (require sicp) o simplemente correr

racket -l sicp --repl 

las que se necesita para abreviar a scheme.En bash que estaría

alias scheme='racket -l sicp --repl' 

que se puede añadir a su ~/.bashrc

0

Ahora estoy trabajando a través SICP usando Chez Scheme. Es un dialecto muy antiguo de Scheme, así que presumiblemente no está muy lejos de lo que se escribió en SICP.

Tenga en cuenta que la página del proyecto Chez Scheme vincula un binario de Windows y una fuente que se puede construir en plataformas tipo Unix. Pero si estás en un Mac, es probable que desee hacer

brew chezscheme 
man chez 

Asumiendo que tiene homebrew, que realmente debería.

¿Por qué no MIT Scheme? Porque la interfaz interactiva es Edwin, un editor que usa las convenciones de EMACS. (Actualmente, es un modo EMACS real, aunque solía implementarse en Scheme.) Solía ​​conocer EMACS básico, pero mis habilidades se atrofiaron por falta de uso, lo que me dice que volver a aprender este editor simplemente no vale la pena.

¿Por qué no DrRacket? Si hubiera visto las instrucciones de preparación de @ frederick-squid, podría haberlo intentado. En cambio, traté de seguir las instrucciones oficiales para scheme y sicp, que están seriamente desactualizadas. Luego traté de hacer que el IDE entrara en el modo esquema, que parece ser intuitivo pero no lo es.

Simplemente demasiado problema. Y no estoy seguro de querer entrar en un IDE de diseño de lenguaje elegante, especialmente uno cuyo poco apoyo de Scheme provocó la pregunta original.

Cuestiones relacionadas