Usare sect e slot in Scheme

Dec 18 2020

Sto cercando di imparare gli inizi di FP, con l'aiuto di "Algorithms for Functional Programming". Nel capitolo 2 lo scrittore introduce le parole chiave secte <>. Una delle procedure nel libro sarebbe:

(define add1 (sect + <> 1))

Ho usato Repl.it per calcolare la procedura. Ma purtroppo, genera il seguente errore:

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

Poi ho provato Racket, perché ho letto qui Repl.it utilizza BiwaScheme che non supporta completamente nessuno standard di Scheme. Ma poi ho ricevuto un altro errore:

sect: undefined;
cannot reference an identifier before its definition

Quindi sto facendo qualcosa di sbagliato? O c'è un altro editor / IDE che dovrei usare?

Risposte

2 JacobvanLingen Dec 18 2020 at 20:53

Mi sbagliavo, entrambi secte <>non sono parole chiave dello schema. Nella prefazione è menzionato l'autore che utilizza la (afp primitives)libreria per procedure primitive ed estensioni della sintassi. Usando questa libreria avrai a disposizione un sacco di procedure extra.

Puoi scaricarlo qui .

1 Shawn Dec 19 2020 at 08:34

La racchetta ha una add1funzione; non c'è bisogno di definire il tuo.

E supporta SRFI-26 cut , che è quello che sectsembra essere con un altro nome più comune:

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