여기 내 작은 프로그램입니다. 그러나 mit-scheme은 다음을 출력합니다 :구문 바인딩 값은 키워드 여야합니다. alpha. 무슨 뜻이에요?</p> <pre><code>(let-syntax ((alpha (lambda (x) (list (syntax quote) (list))))) (alpha)) </code></pre> <p>그리고 교활 그것을 실행하고 반환() :
;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 || 거짓말 쟁이/I386에게 4.118 || 에드윈 3.116 해제) 당신이 절대적으로 사용해야한다는 명시 적으로 보여줍니다 당신이 링크 된 문서를
여기서 무엇을하려고합니까? ** 구문 규칙 ** 키워드가없는 이유는 무엇입니까? ** let-syntax **를 사용하고 정말로 ** ** ** 버전을 사용하지 않겠습니까? – itsbruce
예. 의도적으로 수행됩니다. 저수준 스키마 매크로 확장 메커니즘을 연구 중입니다. 사실이 페이지를 읽었습니다 : http://www.cs.indiana.edu/scheme-repository/R4RS/r4rs_12.html – Necto
그러나 당신은 그 메커니즘을 오용하고 있습니다; 변압기 사양은 없습니다. 달성하고자하는 것이 무엇입니까? – itsbruce