Usando secta y ranuras en Scheme

Dec 18 2020

Estoy tratando de aprender los inicios de FP, con la ayuda de "Algoritmos para Programación Funcional". En el capítulo 2, el escritor presenta las palabras clave secty <>. Uno de los procedimientos del libro sería:

(define add1 (sect + <> 1))

Solía Repl.it para calcular el procedimiento. Pero lamentablemente, arroja el siguiente error:

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

Luego probé Racket, porque leí aquí Repl.it usa BiwaScheme, que no es totalmente compatible con ningún estándar de Scheme. Pero luego recibí otro error:

sect: undefined;
cannot reference an identifier before its definition

Entonces, ¿estoy haciendo algo mal? ¿O hay otro editor / IDE que debería usar?

Respuestas

2 JacobvanLingen Dec 18 2020 at 20:53

Me equivoqué, ambos secty <>no son palabras clave de Scheme. En el prefacio se menciona que el autor usa la (afp primitives)biblioteca para procedimientos primitivos y extensiones de sintaxis. Al usar esta biblioteca, obtiene un montón de procedimientos adicionales a su disposición.

Puedes descargarlo aquí .

1 Shawn Dec 19 2020 at 08:34

La raqueta viene con una add1función; no es necesario definir el tuyo propio.

Y es compatible con SRFI-26 cut , que es lo que sectparece ser con otro nombre más común:

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