私は PLTスキーム を使用していますが、いくつかの問題があります。誰かがSICPを介して作業するためのより良い実装を知っていますか?
MIT Scheme を使用します。
SICPの作成者が推奨し、MIT for6.001:Computer Programs of Interpretation of Computer Programsで使用されます。コース。
Racket (以前のPLTスキーム)を使用します。
DrRacket IDEは、SICPを含むすべてのスキームの優れた出発点です。
ドキュメントでキーワードを検索するには、キーワードの上にカーソルを置き、 F1。 DrRacketでは、REPL(read-eval-print-loop))で直接画像を見ることができます。
DrRacketのSICPサポート 、Neil van Dykeによる。
更新:新しいSICPパッケージは http://pkgs.racket-lang.org/# [sicp] にあります(DrRacketの)パッケージマネージャーでダウンロードするか、raco
を使用してください。 手動
Update2:また、SICP画像言語の新しい実装を試したい場合は、 sicp-pict2.rkt をダウンロードしてください。
MIT/GNUスキーム 、SICP互換性をロードすることを確認してください パッケージ (はい、SICP演習の動作を保証するための特定のライブラリを提供します)。
私は今週SICPを始めたばかりです。
現在、MITスキームはUbuntu Linux(9.04 "jaunty")で壊れています。将来的には機能する可能性があります。
DrSchemeは機能しており、正常に機能しています。上記のsoegardのパッケージ、またはsoegardのパッケージに基づいており、 http://www.neilvandyke.org/sicp-plt/ から入手できるNeil Van Dykeのパッケージを使用できます。このパッケージのいいところは、インストール時に、Language | Choose Language ....メニュー項目を使用してSICPを選択できることです。
これはmacOSで実行するのが驚くほど面倒でした。あなたがHomebrewを持っていると仮定すると、これは今日現在どのように機能するかです。 (たまにbrew update
を実行したいかもしれません)。
brew cask install racket
raco setup # might be optional
raco pkg install sicp
これで(require sicp)
または単に実行できます
racket -l sicp --repl
scheme
と省略した方がいいかもしれません。バッシュでは
alias scheme='racket -l sicp --repl'
~/.bashrc
に追加できます
CHICKENスキーム には sicpライブラリ があり、SICPをサポートしています。 chicken-install sicp
を実行し、ソースコードの先頭に(use sicp)
と書き込むことでインストールできます。
Chez Scheme を使用してSICPで作業しています。これはSchemeのかなり古い方言なので、おそらくSICPが書かれたものからそれほど遠くないでしょう。
Chez Schemeプロジェクトページは、UnixのようなプラットフォームでビルドできるWindowsバイナリとソースにリンクしていることに注意してください。しかし、Macを使用している場合は、おそらく
brew chezscheme
man chez
あなたが homebrew を持っていると仮定すると、本当にそうするべきです。
MIT Scheme?でないのはなぜですか?インタラクティブなフロントエンドはEMACS規則を使用するエディターであるEdwinであるためです(現在、これは実際にはEMACSモードであり、Schemeでの実装に使用されていました)。基本的なEMACSを知ることですが、私のスキルが廃用から萎縮しました。このことは、このエディターを再学習することは、問題を起こすだけの価値がないことを示しています。
なぜDrRacketではないのですか? @ frederick-squidのbrewの指示を見ていたら、試してみたかもしれません。代わりに、schemeとsicpの公式の指示に従いましたが、これらは非常に古くなっています。次に、IDEをスキームモードにしました。これは直感的に見えるようですが、そうではありません。
あまりにも多くのトラブル。そして、私が派手な言語設計IDE、特に、Schemeの不十分なサポートが元の質問を引き起こしたIDEに入りたいとは思いません。