mzscheme
Scheme(PLT-Scheme、インタプリタ(?)コマンドラインツールを使用)で記述された古い(1999以前)プロジェクトを復活させようとしています。さらに悪いことに、私はSchemeやLispを知りません(実際、私は学びたいのですが、それは別の話です)。
プロジェクトのソースコードは次の場所にあります。
これで、コードを実行すると、次のようなエラーメッセージが表示されます。
Sherman runtime version 0.5
Hosted on MzScheme version 52, Copyright (c) 1995-98 PLT (Matthew Flatt)
reference to undefined identifier: list->block
(PLT-Schemeバージョン52、53、103、103p1mzscheme -L
を試しました。以前のバージョンでは、プロジェクトで使用されるスクリプトで参照されているオプションを使用できませんsherman.bat
。後のバージョンでも、コードまたはオプションに関してさらに深刻な問題が発生します。 )。
難しさは、私が見たものから、list->block
実際に定義されていることですcollects/sherman/BLOCK.SS
-48行目を参照してください。それで、何が問題なのですか?
コードを実行するには、次の手順を実行します。
- PLT-Scheme v。103p1をダウンロードします(古いバージョンのダウンロードページから-最初に「PLTScheme is nowRacket 」バナーを閉じます)-Windowsの場合は、mz-103p1-bin-i386-win32.zipを使用します。
- 解凍します(たとえば、ディレクトリに
c:\PLT
)。 c:\sherman\collects\sherman
内容のあるディレクトリを次の場所にコピーします:(c:\PLT\collects\sherman
ここにはgithubリポジトリc:\sherman
の内容が含まれています)。- を実行
cmd.exe
し、次にcd c:\sherman
。 set PATH=c:\PLT;%PATH%
sherman.bat run trivial.s
- このコマンドは、実際、私が理解していることから、次のようになります。
(require-library "runtime.ss" "sherman") (parameterize((current-namespace sherman-namespace))(load "trivial.s")) (現在の名前空間sherman-名前空間)
- その後、上記のエラーが発生します(MzSchemeバージョンは103p1などとして報告されます)。
問題を解決するのを手伝ってもらえますか?
編集2:解決しました!
関係者の方には、プロジェクトページに本格的な「このプロジェクトの使い方」の説明を追加し、 soegaardの助けを借りて問題の解決策を詳しく説明しました。
要するに:
copy trivial.s trivial.rs
rem (the above is workaround for problems with 'r2s.exe < trivial.r > trivial.rs')
sherman.bat compile trivial.rs
sherman.bat run trivial.zo
rem (or: sherman.bat run trivial.ss)