Utilisation des sectes et des slots dans Scheme
J'essaye d'apprendre les débuts de FP, avec l'aide des "Algorithmes pour la Programmation Fonctionnelle". Au chapitre 2, l'auteur présente les mots sect
- <>
clés et . L'une des procédures décrites dans le livre serait:
(define add1 (sect + <> 1))
J'ai utilisé Repl.it pour calculer la procédure. Mais malheureusement, cela génère l'erreur suivante:
Error: execute: unbound symbol: "<>" []
Ensuite, j'ai essayé Racket, parce que j'ai lu ici Repl.it utilise BiwaScheme qui ne prend entièrement en charge aucun standard Scheme. Mais ensuite j'ai eu une autre erreur:
sect: undefined;
cannot reference an identifier before its definition
Alors est-ce que je fais quelque chose de mal? Ou y a-t-il un autre éditeur / IDE que je devrais utiliser?
Réponses
Je me suis trompé, les deux sect
et <>
ne sont pas des mots-clés Scheme. Dans la préface, il est mentionné que l'auteur utilise la (afp primitives)
bibliothèque pour les procédures primitives et les extensions de syntaxe. En utilisant cette bibliothèque, vous obtenez un tas de procédures supplémentaires à votre disposition.
Vous pouvez le télécharger ici .
La raquette est livrée avec une add1fonction; pas besoin de définir le vôtre.
Et il prend en charge SRFI-26 cut
, ce qui sect
semble être sous un autre nom plus courant:
> (require srfi/26)
> ((cut + 1 <>) 2)
3