2

次のコードを検討してください。

#!r6rs
(library
 (test)
 (export)
 (import (rnrs))

 (define a 5)
 (begin
   (define b 4)
   (+ 3 b))
 'cont
 (define c 5)
 'done)

R6RS レポート 7.1から:

<library body> は、<library body> に式を含める必要がないことを除いて、<body> (セクション 11.3 を参照) に似ています。次の形式にする必要があります。

<definition> ... <expression> ...

cの定義は expression の後にあるのでエラーになると思っていました'contが、このプログラムは問題なく受け入れられます。

その後、輸出できるとa思いました。cしかし、そうではありませんcが、bエクスポートできます。(a思った通りにエクスポートできます。)

R6RS ライブラリのルールについて、私が気付いていないことがあると思います。私が見逃しているポイントは何ですか?前もって感謝します。

ps) ラケット v5.3.3 を使用しています

4

2 に答える 2