Verwenden von Sekte und Slots im Schema

Dec 18 2020

Ich versuche, die Anfänge von FP mit Hilfe von "Algorithmen für die funktionale Programmierung" zu lernen. In Kapitel 2 stellt der Verfasser die Schlüsselwörter sectund vor <>. Eines der Verfahren in diesem Buch wäre:

(define add1 (sect + <> 1))

Ich habe Repl.it verwendet , um die Prozedur zu berechnen. Aber leider wirft es folgenden Fehler:

Error: execute: unbound symbol: "<>" []

Dann habe ich Racket ausprobiert, weil ich hier gelesen habe, dass Repl.it BiwaScheme verwendet, das keinen Scheme-Standard vollständig unterstützt. Aber dann habe ich noch einen Fehler bekommen:

sect: undefined;
cannot reference an identifier before its definition

Also mache ich etwas falsch? Oder gibt es einen anderen Editor / eine andere IDE, die ich verwenden sollte?

Antworten

2 JacobvanLingen Dec 18 2020 at 20:53

Ich habe mich geirrt, beides sectund <>sind keine Schemaschlüsselwörter. Im Vorwort wird erwähnt, dass der Autor die (afp primitives)Bibliothek für primitive Prozeduren und Syntaxerweiterungen verwendet. Durch die Verwendung dieser Bibliothek erhalten Sie eine Reihe zusätzlicher Verfahren zur Verfügung.

Sie können es hier herunterladen .

1 Shawn Dec 19 2020 at 08:34

Schläger kommt mit einer add1Funktion; Sie müssen keine eigenen definieren.

Und es unterstützt SRFI-26 cut , sectwie es unter einem anderen, allgemeineren Namen aussieht:

> (require srfi/26)
> ((cut + 1 <>) 2)
3