- 491 名前:デフォルトの名無しさん mailto:sage [2005/06/28(火) 17:17:51 ]
- >>490
>これって、どこかに書いてありますか? >書いてないから未定義なのかな? おれは489ではないのだがちょっと失礼する R5RSの5.2 Definitionsによれば、定義は (define <variable> <expression>) でもって7.1.3. Expressionsにはsyntactic keywordが<expression>になる記述は無い。 だから、(define foo begin)はR5RS的には有効ではないと思われる(例えばPLTとかchezとかはシンタックスエラーとなる) しかし1.3.2 Error situations and unspecified behaviorによれば処理系にそのエラーの報告義務は無い。 つまり動作は未定義で処理系依存でよいということであり、(define foo begin)などが通る場合は処理系独自の拡張の結果という事だと考えて良いと思うんだけど.......これでいいのかな?皆の衆
|

|