несколько «основных» модулей в связанных модулях OCaml

У меня есть ряд «библиотечных» модулей в OCaml (в основном служебные и вспомогательные функции), куда я добавил в конце следующий код для тривиального модульного тестирования:

let main () = ...
main

или

let () = ...

Это код, который в основном выводит на консоль (в целях простого тестирования). Теперь проблема в том, что когда я связываю свои «библиотечные» модули с моим «основным» модулем и запускаю программу, я получаю все эти отвлекающие тестовые сообщения. Есть ли способ включить код в модуль OCaml, который запускается, когда модуль компонуется отдельно (что облегчает тривиальное тестирование), но не при использовании в качестве «библиотеки»? Я читал сообщения в SO о том, что OCaml не имеет понятия «основной» модуль и что все модули равны, однако мне кажется, что порядок объектных файлов, переданных компоновщику, может быть истолкован как указание на то, что последний модуль является «основным» (поскольку он находится на вершине «пищевой цепочки зависимостей»).

7
задан Marcus Junius Brutus 2 April 2012 в 19:06
поделиться