Verwenden von Sekte und Slots im Schema
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 sect
und 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
Ich habe mich geirrt, beides sect
und <>
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 .
Schläger kommt mit einer add1Funktion; Sie müssen keine eigenen definieren.
Und es unterstützt SRFI-26 cut
, sect
wie es unter einem anderen, allgemeineren Namen aussieht:
> (require srfi/26)
> ((cut + 1 <>) 2)
3