Utilisation des sectes et des slots dans Scheme

Dec 18 2020

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

2 JacobvanLingen Dec 18 2020 at 20:53

Je me suis trompé, les deux sectet <>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 .

1 Shawn Dec 19 2020 at 08:34

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 sectsemble être sous un autre nom plus courant:

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