Новичкам в экосистеме непонятно, какой канонически предпочтительный способ структурировать и управлять созданием малых и средних проектов OCaml. Я понимаю основы ocamlc
и т. Д. - они достаточно отражают обычные компиляторы UNIX C, чтобы казаться простыми. Но, помимо разовой компиляции отдельных файлов, неясно, как лучше всего управлять компиляцией просто и чисто. Проблема не в поиске потенциальных инструментов, а в поиске одного или нескольких Правильных (достаточных) способов - подтвержденных опытом сообщества - для структурирования и построения стандартных проектов OCaml.
Мой пример использования - скромный. но нетривиальный проект, чистый OCaml или OCaml плюс зависимость C. Такой проект:
. Выделяются несколько альтернативных инструментов:
(я также видел OMake , который выглядит самопровозглашенным " make ++
", который также включает набор стандартных правил для распространенных языков, включая OCaml, и ocaml-make , урожденный OCamlMakefile, предоставляющий шаблон стандартного правила для GNU make
.)
Является ли какой-либо из этих способов предпочтительным современным способом управления сборками OCaml?
Как лучше всего структурированы файлы проекта?
Каким образом включены зависимости сторонних библиотек и удалось? Что лучше: установить их на системном уровне или существует стандартный и простой способ управления ими локально в рамках проекта? Я бы предпочел модель, в которой проекты оставались бы как можно более самодостаточными.