[解決済み】RacketはSchemeとどう違うのですか?
2022-04-14 05:39:28
質問
RacketはSchemeの子孫にあたります。RacketはR6RSとどう違うのですか?何が追加され、何が削除され、何が違うのでしょうか?
Racketは単なる言語ではなく、言語のためのプラットフォームであることは理解しています。しかし、私が言っているのは、メインのRacketの方言のことです。
どのように解決するのですか?
Racketは最終的にR5RSをベースにしており、R6RSでもなく、どちらの厳密なスーパーセットでもありません。どのScheme標準とも後方互換性がないので、「Scheme」とは呼べないと思います。
ほとんどの実装は拡張機能を提供していますが、それ以外は後方互換性があります。もちろん、Racketに付属するコンパイラはR5RSやR6RSモードで動作させることも可能です。Racketモードで実行される有効なR5/6RS Schemeは、拒絶されるか、実行時エラーが発生するか、あるいは本来の動作とは異なる動作をする可能性があります。とはいえ、後方互換性がないのは主に以下の点です。
-
Racketには
set-cdr!
とset-car!
ではなくset-mcar!
これは、特にmutableとして作成されたペアに対してのみ機能します。 -
Racketでは
letrec
はletrec*
はR5RSには存在せず、R5RSとR6RSが呼ぶものはletrec
はRacketには存在しないのです。 - Racket では、多くのものが自己評価されるため、R5RS ではエラーが発生します。 最も重要なのは、空のリスト .
- Racketは大文字と小文字を区別するが、R6RSも大文字と小文字を区別する
-
ラケットの処理
( ... )
と[ ... ]
を等価とした場合、R5RSは等価でないが、R6RSは等価である。
他にもあるかもしれませんが、他のほとんどの部分でラケットはSchemeのスーパーセットです。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン