26

私はLittleSchemerを読み始めており、PLTSchemeの代わりにRacketがあります。ラケットが本の演習を行うのに適しているかどうか、または別の真のSchemeコンパイラを入手する必要があるかどうかを知りたいです。言うのを忘れる前に、私のOSはWindowsx64です。

本、言語、パラダイムは十分に複雑なので、コンパイラーとの闘いは避けたいと思います。

よろしくお願いします。

4

4 に答える 4

32

DrRacketは、DrSchemeの(r)進化です。DrRacketは、「TheLittleSchemer」の演習で完全に機能します。次のことを忘れないでください。

  1. ダイアログで、Language[ソースで宣言されている言語を使用する]を選択します
  2. 作成する各ファイルの先頭に書き込み#lang racketます
  3. atom?本の冒頭で説明したように、各ファイルに述語を実装します
  4. 既存のプロシージャを再実装する場合は、別のタブまたはウィンドウで再実装します。編集ウィンドウでプロシージャを書き直そうとするとduplicate definition for identifierエラーが発生するためです。必要に応じて、プロシージャ定義を保存するためにいくつかのファイルを使用します
于 2012-10-22T01:39:03.990 に答える
7

本当に必要なのはatom?関数だけです。この本の序文で説明されていることは、本質的に次のとおりです。

(define (atom? x)
  (and (not (pair? x)) (not (null? x))))

前述のように、このテストを満たす必要があります。

(atom? '()) ;=> #f

Racklogは、そのテストを満たさない定義もあることに注意してください。

に関するより詳細な議論atom?ここにあります。

実装するという本の提案にもかかわらずadd1sub1Racketすでにそれらを提供しています。

ところで、私はラケットの編集にVimを使用していますが、他のいくつかのエディターにも対応しています。

于 2015-08-19T18:24:01.130 に答える
6

私はその本の著者を教授として迎えました。彼は現在Racketを自分で使用していますが、Emacsをテキストエディターとして使用しています。

于 2014-07-11T12:58:56.810 に答える
1

ラケット/スキームは交換可能です。あなたはそれでどんな運動にも答えることができるはずです。幸運を。

また、通訳としてラケット博士をダウンロードすることをお勧めします。

于 2012-10-22T01:18:47.047 に答える