言語に何が含まれているかは誰でも知っていracket/base
ます。名前空間の定義を R7RS ドラフトと比較して、racket/base
Racket が Scheme とどのように異なるかを直接把握しようとしています。
2 に答える
他の実用的なScheme実装と同様に、違いは非常に大きくなります。大まかに言うと、 から 1300 を超える識別子が表示されracket/base
、racket
2000 を超えることもあります。また、名前の比較がすべてではないことに注意してください。Racket が使用するという事実のように、追加の違いがあります。デフォルトでは不変のペアであり、左から右への評価順序が保証されるという事実が好きです。
前者のリストを自分で取得する簡単な方法は、XREPLがインストールされていることを確認し (~/.racketrc
ファイルに が含まれていること)、 REPL 言語として(require xrepl)
Racket を起動し、引数なしで (apropos) コマンドを使用して、バインドされたすべての名前:racket/base
,ap
$ racket -I racket/base
Welcome to Racket v5.2.1.
-> ,ap
名前について読むには、,doc
コマンドを使用するか、ドキュメントの検索ボックスを使用します。
The Racket Referenceによると:
特に明記しない限り、このマニュアルで定義されているバインディングは、ラケット/ベースおよびラケット言語によってエクスポートされます。
残念ながら、それは大規模なリファレンス マニュアルであるため、あまり役に立ちません。ただし、R7RS と Racket を比較しているので、リファレンス全体を参照して、何が利用できるかを把握することが役立つ場合があります。