- 739 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 14:37:01 ]
- Schemeのプリミティヴ構文はif、quote、lambda、define、set!であり、
letやcondなどは導出構文という事になってます。 (但しbeginやdefine-syntax、let-syntaxはマクロでは導出できない) Common Lispでは特殊形式とマクロという区別がありましたが Schemeでは両方構文として扱われます。 どうもbeginはトップレベルでは「beginがない式と同等に扱われる」のは表面上であり、継続は (lambda (x) (begin (display x) (display 'fuga) (cc 'moga)))) ;; beginは冗長 として扱う処理系が多いようですね。 原始構文という言葉はプリミティブ式のうち構文であるものを指すつもりで使いました。
|

|