2012-01-22 3 views
10

ラケットにはどのくらいのラケットが書かれていますか?たとえば、argmax関数はRacketまたはCで実装されていますか?テイクとドロップはどうですか?私はgithubのソースでそれを見つけることができませんでした。ラケットソースおよび/またはクックブックの例

私が尋ねる理由は、Scheme/Racket初心者としては、機能的な/再帰的なベストプラクティスを扱うために、できるだけエレガントなラケットコードのソースを掘り下げることが非常に便利だということです。もちろん、すべてがほとんどC言語で実装されている場合、これは私の正しい方向ではありません。

また、 "my-map"や "my-length"に似た、ラケットの多くの組み込み関数を再作成する方法を示すオンラインのどこかに "cookbook"や "examples"ページがありますか?

ありがとうございました。

答えて

9

Githubからラケットソースをダウンロードできます。 という価値がある十分なラケットコードがありますが、私はこのような "cookbook"の例のモジュールを見るほうが好きです。

PLaneTは、他の人のコードにも適しています。

+1

ありがとうございました。 /lib/racket/collects/racket/list.rktには大きな飛躍があります。 – Scott

+0

また、すべてのパッケージにソースへのリンクを持つPLaneTもお勧めします。例えば、私はhttp://planet.racket-lang.org/display.ss?package=rle.plt&owner=dyooに非常にばかげたランレングスエンコーディングライブラリを持っており、 "Browse"リンクの下でそのソースを調べることができますそのページに – dyoo

5

多くのラケットライブラリは言語自体で書かれていますが、興味のある機能を見つけて勉強するためにソース全体を徹底的に調べようとするのは圧倒的です。 How howテキストラケットの作者によって書かれたデザインプログラム(http://htdp.orghttp://www.ccs.neu.edu/home/matthias/HtDP2e/index.html)は、あなたが求めている機能を書く方法を学び理解しています(テイク、ドロップ、マップ、長さなどの機能の実装は直接教科書の方法の約3分の1から2分の1に相当)。

関連する問題