これは私の前の質問のフォローアップです。残念ながら、Chicken Schemeはデフォルトで複素数をサポートしておらず、numbersインストール可能なエッグを提供しているようです。
を介してこのeggをインストールchicken-install numbersしましたが、解釈された環境にロードできます。use;を呼び出すことでこれを行うことができます。REPLで手動で実行するか、.scmファイルをスクリプトとして実行しますcsi。
たとえば、このスクリプトは完全に機能します。
(use numbers)
(begin
(display 3+3i)
(newline)
)
で実行する場合:
csi -s main.scm
しかし、これとまったく同じスニペットをcsc(追加のフラグがなくても)コンパイルすると、ロードしなかった場合と同じランタイムエラーが発生します(バインドされていない変数など)。コンパイルされた環境ではそうではないようですuse。マスタードをカットします。
他に注意すべき2つの点は、ドキュメントによると、、などの他のインポート関数を試しましrequire-extensionたrequire-libraryが、違いはありません。numbersもう1つは、モジュールの名前を「たとえば」以外に変更するnumberssと、拡張機能を読み込めないと文句を言ってコンパイルに失敗するため、少なくともnumbersライブラリがインストールされていることを検出していることは明らかです。
誰かが、できればコンパイルされた環境で卵を使用する方法を簡単な実例を通して説明できますか?前もって感謝します!:)