1

私はSchemeを初めて使用し、コンピュータプログラムの構造と解釈を読んで言語に慣れようとしています。配列について少し混乱しています。

まず、begin変更可能な構造の操作を容易にするために必要な、シーケンスを許可するためにキーワードが導入されていることを理解しています。私が理解していないのは、次のようにシーケンスを使用することがあることです (SCIP の 268 ページの例が動機です)。

(define (stuff-0)
   (+ 1 2)
   (+ 1 3)
   'ok)

を使用して同じことを実装できますbegin

(define (stuff-1)
  (begin
    (+ 1 2)
    (+ 1 3)
    'ok))

これら2つの間に意味的な違いはありますか、それとも最初のものは2番目の構文糖衣にすぎませんか?

第二に、実際的な重要性は別として、理論的にそのbegin構成要素は必要ですか? 必要なシーケンスごとに、シーケンスを実装するプロシージャのカスケードを記述できると思います。もちろん実用的ではありませんが、私はbegin構造のない言語の表現力に興味があります。

4

3 に答える 3