/ / Impossibile caricare il file nello schema, (usando Simply Scheme Book e PLT Scheme) - schema, racchetta

Impossibile caricare File in Scheme, (usando Simply Scheme Book e PLT Scheme) - schema, racket

Sto usando lo schema PLT (DrScheme). Voglio caricare un file da cui ho ricevuto Qui. Per caricare il file, vado nello schema PLT e nella finestra delle interazioni (o nella finestra in basso), digito (carica "simply.scm") e quindi premo Invio. Mi dà questo errore:

simply.scm: 20: 12: set !: impossibile mutare l'identificatore richiesto dal modulo in: numero-> stringa

Non ho idea di come risolverlo, per favore assisti ...

Informazioni extra: sto imparando dal libro Semplicemente Schema Presentazione di Informatica di Brian Harvey e Matthew Wright

Inoltre, il caricamento del collegamento richiede un po 'di tempo, ma funziona, penso che abbiano i file su un server molto vecchio, quindi potrebbe essere il motivo.

risposte:

8 per risposta № 1

Apri DrScheme (o DrRacket come viene ora chiamata la versione più recente del software); dal menu Lingua seleziona "Scegli lingua ..." e assicurati che "Usa la lingua dichiarata nella fonte" sia selezionato.

Quindi nella parte superiore del file, inserisci le seguenti due righe di intestazione seguite da qualsiasi codice desideri dal libro (ho scelto un esempio dal primo capitolo):

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

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

Quindi fare clic su Esegui. Ciò dovrebbe consentire di digitare anche espressioni nel riquadro Interazioni per valutarle.

In alternativa, puoi sostituire le due righe sopra con una:

#lang planet dyoo/simply-scheme

Ma poi il linguaggio Simply Scheme non è abilitato nel riquadro Interazioni.

Puoi trovare la documentazione per questo DrScheme / Racket simply-scheme libreria facendo clic sul collegamento "documenti" in l'URL fornito da Chris.


7 per risposta № 2

Dovresti usare il Modulo Racket Simply Scheme. Il file a cui sei collegato non è compatibile con Racket.

Più specificamente, in Racket, non ti è permesso usare set! per sovrascrivere i collegamenti di funzioni esistenti, che è ciò che fa quel file. (Tecnicamente, può potenzialmente interrompere anche altre implementazioni di Scheme, quindi non si tratta di una "stranezza di racket" o altro.)