72 votes

Quelle est la meilleure mise en œuvre du régime pour travailler par le biais du SICP ?

J'ai utilisé Régime PLT mais il a quelques problèmes. Quelqu'un connaît-il une meilleure application pour travailler avec SICP ?

95voto

soegaard Points 6541

Utilisez Raquette (anciennement PLT Scheme).

L'IDE DrRacket est un excellent point de départ pour tout ce qui concerne le Scheme, y compris 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 read-eval-print-loop).

Support SICP pour DrRacket par Neil van Dyke.

Mise à jour (2016) : Le nouveau paquet SICP est à http://pkgs.racket-lang.org/# [sicp] Téléchargez-le avec le gestionnaire de paquets (dans DrRacket) ou utilisez raco . Manuel

Update2 (2016) : Si vous voulez aussi essayer une nouvelle implémentation du langage graphique SICP, téléchargez alors sicp-pict2.rkt .


Mise à jour 3 (2020) : Le paquet sicp-lang comprend une implémentation du langage sicp et du langage d'image sicp.

Documentation : Support SICP pour DrRacket
Code source : sicp-lang sur GitHub
Paquet de raquettes : info sur le paquet sicp-lang

Remarque : Le langage imagé possède plus de caractéristiques (telles que des couleurs et des tailles plus grandes) que le langage imagé décrit dans le livre. La source contient des exemples : https://github.com/sicp-lang/sicp/blob/master/sicp-pict/main.rkt

7 votes

Note : Neil van Dyke a écrit un très beau paquet SICP pour Racket. Utilisez-le au lieu de mon ancien paquet.

0 votes

Hmm OP a demandé à propos de PLT Scheme qui est devenu DrScheme et puis DrRacket et enfin Rocket lang maintenant.

0 votes

Attention : il est impossible d'installer de manière sécurisée le paquet de support SICP. Lorsque vous exécutez ce code ( #lang planet neil/sicp ), il essaie de télécharger des choses via http, ce qui rend les attaques MitM possibles. Et quand on télécharge du code qui sera exécuté sur votre machine, C'est un gros problème. La page n'est pas disponible via https, cela signifie aussi que vous pouvez obtenir n'importe quoi au lieu du contenu. J'espère que l'auteur corrigera cela à un moment donné.

68voto

keparo Points 13747

Utilisez Régime MIT .

Il est recommandé par les auteurs de SICP, et est utilisé au MIT pour la 6.001 : Structure et interprétation des programmes d'ordinateur cours.

18 votes

La chose que je n'aimais pas à propos de MIT Scheme était que je ne pouvais pas comprendre comment simplement exécuter un script de Scheme à partir de la ligne de commande et avoir sa sortie affichée dans ma console - de la même manière que je m'attendrais à exécuter un script de Python ou Ruby. Est-ce que j'ai été extrêmement dense ? Comment y parvenir, sans lancer le grand environnement interactif basé sur Emacs et devoir le quitter à nouveau à chaque fois ?

0 votes

Il existe une version 64 bits pré-construite de mit-scheme ici - []. www-users.cselabs.umn.edu/classes/Fall-2010/csci1901/

0 votes

Je viens de le compiler avec succès sur Ubuntu X64 en utilisant la source fournie sur le site GNU.

12voto

Louis Gerbarg Points 33025

Schéma MIT/GNU assurez-vous de charger la compatibilité SICP. paquet (oui, ils fournissent des bibliothèques spécifiques pour améliorer la garantie du fonctionnement des exercices SICP).

6voto

gdimike Points 71

Je viens de commencer à faire le SICP cette semaine.

Actuellement, MIT Scheme ne fonctionne pas sous Ubuntu Linux (9.04 "jaunty"). Il pourrait fonctionner à l'avenir.

DrScheme fonctionne, et fonctionne bien. Vous pouvez utiliser le paquet de soegard listé ci-dessus ou le paquet de Neil Van Dyke, qui est basé sur le paquet de soegard et est disponible à l'adresse suivante http://www.neilvandyke.org/sicp-plt/ . L'avantage de ce paquetage est qu'une fois installé, vous pouvez utiliser l'élément de menu Language|Choose Language.... pour sélectionner SICP.

1voto

Matt Curtis Points 12454

Régime PLT fonctionne assez bien, ou Régime MIT comme l'a suggéré Keparo. Quels sont les problèmes que vous rencontrez avec ce système ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X