UNIXにおけるload式は、以下のような機能を持っている必要があります。
ソースファイル、あるいはその中間コード形式のファイルは、ファイルサーチ のとき、そのファイルの拡張子について、以下の順でサーチします。
変数loadPathに、文字列で与えられたディレクトリ、あるいは、文字列 の配列で与えられた複数のディレクトリは、load式のサーチパスとして Cmmソースあるいはその中間コード形式ファイルが探索されなければなりませ ん。また、loadPathのサーチするための条件は以下の通りです。
たとえば、
var loadPath = "/usr/local/cmm/inlcude" ;
と設定されている場合は、ディレクトリ"/usr/local/cmm/inlcude"も検索対象となり ます。
また、
var loadPath = ["/usr/cmm/include",
SPMgt;"/usr/local/cmm/include",
SPMgt;"/usr/home/pon/cmm/include" ] ;
となっている場合は、
"/usr/cmm/inlcude"
"/usr/local/cmm/include"
"/usr/home/pon/cmm/include"
をこの順に探索し、最初に見つかったCmmソースファイル、あるいは、そのコ ンパイル形式をロードします。
また、ロードされたCmmソースファイル、あるいは、そのコンパイル形式は、 配列型の定義済みグローバル変数
__loadedModules
に配列で格納されます。例えば、fileA.cmmと、fileB.cmm がロードされてい る場合、変数__loadedModulesには、そのファイルのフルパスが下記のよう に格納されています。
[ "/usr/home/someone/MyCmmLib/fileA.cmm",
SPMgt;"/usr/home/someone/MyCmmLib/fileB.cmm"]
UNIXのCmm処理系は、この変数を参照してファイルをロードするかしないかを 決めます。