/ / Impossible de charger un fichier dans un schéma (avec Simply Scheme Book et PLT Scheme) - schéma, raquette

Impossible de charger un fichier dans un schéma (avec Simply Scheme Book et PLT Scheme) - schéma, raquette

J'utilise le schéma PLT (DrScheme). Je veux charger un fichier que j'ai reçu ici. Pour charger le fichier, je vais dans PLT Scheme et dans la fenêtre des interactions (ou la fenêtre du bas), je tape (charge "simply.scm") puis appuie sur la touche Entrée. Cela me donne cette erreur:

simply.scm: 20: 12: set !: ne peut pas transformer l'identifiant requis par le module dans: number-> string

Je ne sais pas comment résoudre ce problème, s'il vous plaît aider ...

Extra Info: J'apprends du livre Simplement Scheme Introduisant Informatique par Brian Harvey et Matthew Wright

En outre, le lien prend un peu de temps à charger, mais cela fonctionne, je pense qu'ils ont les fichiers sur un très vieux serveur, c'est peut-être pour cela.

Réponses:

8 pour la réponse № 1

Ouvrez DrScheme (ou DrRacket puisque la version la plus récente du logiciel est maintenant appelée); dans le menu Langue, sélectionnez "Choisir la langue ..." et assurez-vous que l'option "Utiliser la langue déclarée dans le source" est cochée.

Ensuite, en haut de votre fichier, placez les deux lignes d’entête suivantes, suivies du code de votre choix dans le livre (j’ai choisi un exemple du premier chapitre):

#lang racket
(require (planet dyoo/simply-scheme))

(define (pigl wd)
(if (member? (first wd) "aeiou)
(word wd "ay)
(pigl (word (butfirst wd) (first wd)))))

Puis cliquez sur Exécuter. Cela devrait vous permettre également de saisir des expressions dans le volet Interactions pour les évaluer.

Sinon, vous pouvez remplacer les deux lignes ci-dessus par une seule:

#lang planet dyoo/simply-scheme

Mais dans ce cas, le langage Simply Scheme n'est pas activé dans le volet Interactions.

Vous pouvez trouver la documentation de ce DrScheme / Racket simply-scheme bibliothèque en cliquant sur le lien "docs" à l'URL fournie par Chris.


7 pour la réponse № 2

Vous devriez utiliser le Module Raquette Simply Scheme. Le fichier que vous avez lié n'est pas compatible avec Racket.

Plus spécifiquement, dans Racket, vous n'êtes pas autorisé à utiliser set! pour écraser les liaisons de fonction existantes, comme le fait ce fichier. (Techniquement, cela peut potentiellement casser d’autres implémentations de Scheme aussi, donc ce n’est pas un "caprice de raquette" ou quoi que ce soit.)