J'avais utilisé PLT Scheme , mais il a quelques problèmes. Est-ce que quelqu'un connaît une meilleure implémentation pour travailler avec SICP?
Utilisez MIT Scheme .
Il est recommandé par les auteurs de SICP et est utilisé à MIT pour le cours 6.001: Structure et interprétation des programmes informatiques.
Utilisez Racket (anciennement Schéma PLT).
Le DrRacket IDE est un excellent point de départ pour tout ce qui concerne Scheme, y compris le SICP.
Pour rechercher des mots-clés dans la documentation, placez le curseur sur le mot-clé et appuyez sur F1. Dans DrRacket, vous pouvez maintenant voir les images directement dans le REPL (la boucle lecture-évaluation-impression).
Support SICP pour DrRacket , par Neil van Dyke.
Mise à jour: Le nouveau paquet SICP est à l'adresse http://pkgs.racket-lang.org/# [sicp] Téléchargez-le avec le gestionnaire de paquets (dans DrRacket) ou utilisez raco
. Manuel
Update2: Si vous souhaitez également essayer une nouvelle implémentation du langage image SICP, téléchargez sicp-pict2.rkt .
MIT/GNU Scheme , veillez simplement à charger la compatibilité SICP package (oui, ils fournissent des bibliothèques spécifiques pour améliorer la garantie du travail des exercices SICP).
Je viens de commencer à faire SICP cette semaine.
Actuellement, MIT Scheme est intégré dans Ubuntu Linux (9.04 "jaunty"). Cela pourrait fonctionner dans le futur.
DrScheme fonctionne et fonctionne bien. Vous pouvez utiliser le paquetage de soegard mentionné ci-dessus ou celui de Neil Van Dyke, basé sur le paquetage de soegard et disponible sur http://www.neilvandyke.org/sicp-plt/ . La bonne chose à propos de ce paquet est que, une fois installé, vous pouvez utiliser le menu Langue | Choisir la langue .... pour sélectionner SICP.
C'était étonnamment agaçant de se faire sur macOS. Voici comment cela fonctionne aujourd'hui, en supposant que vous ayez Homebrew. (Peut-être vouloir exécuter brew update
de temps en temps).
brew cask install racket
raco setup # might be optional
raco pkg install sicp
Maintenant, vous pouvez (require sicp)
ou simplement exécuter
racket -l sicp --repl
Ce que vous voudrez peut-être abréger en scheme
. En bash ce serait
alias scheme='racket -l sicp --repl'
que vous pouvez ajouter à votre ~/.bashrc
Schéma PLT fonctionne plutôt bien, ou MIT Scheme comme suggéré par Keparo. Quels problèmes avez-vous avec elle?
CHICKEN Scheme a une bibliothèque de sicp qui fournit un support pour SICP. Vous pouvez l’installer en exécutant chicken-install sicp
et en l’écrivant au début de votre code source: (use sicp)
.
Je travaille maintenant avec SICP en utilisant Chez Scheme . C'est un assez vieux dialecte de Scheme, donc ce n'est probablement pas très loin de ce sur quoi le SICP a été écrit.
Notez que la page de projet Chez Scheme lie un binaire Windows et une source pouvant être générée sur des plates-formes de type Unix. Mais si vous êtes sur un Mac, vous voudrez probablement faire
brew chezscheme
man chez
En supposant que vous avez homebrew , ce que vous devriez vraiment.
Pourquoi pas MIT Scheme? Parce que le frontal interactif est Edwin, un éditeur qui utilise les conventions EMACS. (Actuellement, c’est un mode EMACS réel, bien qu’il fût auparavant implémenté dans Scheme.) Je connaissais l’EMACS de base, mais mes compétences se sont atrophiées, ce qui me dit que le réapprentissage de cet éditeur ne vaut tout simplement pas la peine.
Pourquoi pas DrRacket? Si j'avais vu les instructions de préparation de @ frederick-squid, j'aurais peut-être essayé. Au lieu de cela, j'ai essayé de suivre les instructions officielles relatives au schéma et au sicp, qui sont sérieusement périmées. Ensuite, j'ai essayé de faire passer le IDE en mode schéma, ce qui semble être intuitif mais ne l’est pas.
Trop de problèmes. Et je ne suis pas sûr de vouloir entrer dans un IDE de conception de langage sophistiqué, en particulier un IDE dont le faible support de Scheme a suscité la question initiale.