這是我的小程序:語法綁定值必須是關鍵字:alpha。這是什麼意思?
(let-syntax ((alpha (lambda (x)
(list (syntax quote)
(list)))))
(alpha))
而且狡詐執行它,並返回()。但mit-scheme輸出以下內容:
;Syntactic binding value must be a keyword: alpha
;To continue, call RESTART with an option number:
; (RESTART 1) => Return to read-eval-print level 1.
爲什麼?
(我的版本是:9.1版||微碼15.3 ||運行15.7 || SF 4.41 || LIAR/I386 4.118 ||埃德溫3.116)
你在做什麼,在這裏?爲什麼沒有**語法規則**關鍵字?你確定要使用** let-syntax **而不是** let **的常規版本嗎? – itsbruce
是的,它是故意完成的。我正在研究低層次的宏觀擴張機制。其實我讀過這個網頁:http://www.cs.indiana.edu/scheme-repository/R4RS/r4rs_12.html – Necto
但是你濫用這個機制;那裏沒有變壓器規格。你希望實現什麼? – itsbruce