23

#lang racket は、すぐに使える構造と一般的な機能をはるかに備えたスキームの方言であり、おそらくより教育的であると推測しています。#langスキームに対する#langラケットの特典は何ですか?

ラケットで #lang スキームを使用して、「コンピュータープログラムの構造と解釈」または「プログラムの設計方法」のすべての内容に従うのが最善ですか(または可能ですか)。HtDP は #lang ラケット固有ですか?

ライブラリが含まれていない限り、#lang スキームで記述されたコードは、チキン スキームまたは任意のメイン インタープリターで使用できますか?

前もって感謝します。

4

1 に答える 1

32
  1. はい、#lang racketラケットのデフォルトの方言であり、多くの拡張機能があります。

  2. 拡張子ではない 2 つの場所: ifelse ブランチが必要であり、ペアは不変です (noset-car!set-cdr!)。

  3. #lang scheme名称変更前にしばらく使用され、現在#lang racketも一貫して使用されています。しかし、私たちは#lang scheme互換性のために維持しました (同様に、維持され、対応scheme/---するものとは異なる場合があるさまざまなライブラリも同様racket/---です)。#lang scheme新しいコードで使用する理由はありません。

  4. SICP に従うには、これらのいずれも使用しないでください。利用可能な ( で使用可能な) SICP 言語#lang sicpがあります。元は Neil Van Dyke によって書かれましたが、現在は Racket コミュニティ内で維持されています。

  5. HtDP に従うには、これらのいずれも使用せず、学生言語を使用してください。#langのような新しいベースのバリアントもありますが#lang htdp/bsl、まだ完全な形ではありません。(そして HtDP は固有のものではありません #lang racket。)

  6. いいえ、Racket はChicken Scheme とは大きく異なります。両方でいくつかのコードを実行できるかもしれませんが、それらはおそらく小さなおもちゃの例にすぎません.

于 2011-08-22T19:37:14.790 に答える