私はいくつかのプロジェクトでこの問題を経験しましたが、このテスト ケースでは、問題を理解するのに不要なものがすべて削除されています。私はそれを使って何が悪いのかを理解してきました:
だから私はその中に2つのファイルを含むディレクトリを持っています, foo.scm
, とbar.scm
:
;;;foo.scm
(module foo (baz)
(import chicken scheme)
(define (baz)
(display "bazzer!\n")))
;;;bar.scm
(module baz (quux)
(import chicken scheme)
(use foo)
(define (quux)
(baz)
(display "quuxed!\n")))
csi で baz.scm を実行すると、次のエラーが表示されて失敗します。
Error: (import) during expansion of (import ...) - cannot import from undefined module: foo
ドキュメントを確認しました。use
コードをメモリにロードしてからロードする必要がありますimport
。私も実行しましrequire
た 、関数use
はコードを個別にロードするために使用します。問題なく実行されますがimport
、失敗するだけです。また、コードを にインポートしようとしましたcsi
。use
動作しませんが、require
その後にimport
動作しますが、それは と同等であるはずuse
です。
要するに、私は絶望的に混乱しています。何が起こっているのか、それを修正する方法を誰かが説明できますか?