Usare sect e slot in Scheme
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
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 .
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