Sintassi-Rule non completamente igienici?
-
30-10-2019 - |
Domanda
lo capisco syntax-rules
è un sistema macro igienico, ma non capisco perché questo accada:
(define not (lambda (x) x))
(define-syntax nand
(syntax-rules ()
((_ a b)
(not (and a b)))))
(nand #f #t)
==> #f
Ora, se avessi ridefinito not
dopo Definizione della macro, quindi (nand #f #t)
ritorna #t
. Perché, se il sistema macro dovrebbe essere igienico?
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow