Подтвердить что ты не робот

Как структурировать проект Haskell?

В настоящее время я пытаюсь выполнить проект Haskell с использованием методологии Test Driven Development. В Java мы можем создать хорошо структурированный проект, содержащий папки src и bin, тогда есть основные и тестовые папки для модульного тестирования с JUnit. Мне просто интересно, есть ли стандартный способ получить такую ​​структуру в Haskell? Папка для источника - папка для двоичного кода, а в исходной папке - две папки для тестирования одного для основного источника.

4b9b3361

Ответ 1

Современный ответ на этот вопрос - использовать The Haskell Tool Stack. Это будет структурировать проект для вас, используя нормальные значения по умолчанию.

Ответ 2

Моя ссылка всегда Структура проекта Haskell и Как написать программу Haskell, в которой указаны некоторые значения по умолчанию, которые, по-видимому, сообщают более или менее сообщество. Он работал хорошо для меня до сих пор, но мои проекты пока невелики.

Что предлагается в Структура проекта Haskell звучит аналогично тому, что вы наметили в своем посте, с несколькими незначительными изменениями, такими как тестирование папка находится в том же каталоге, что и папка src.

Edit:

cabal init будет генерировать минимальную сумму для вас, включая файл cabal с соответствующими зависимостями, если у вас есть хотя бы файлы с импортом. Это отличное начало, но только часть того, что вы ищете.

В идеале по мере роста проекта иерархия файлов кэша и каталогов будет автоматически обновляться, я не знаю о каком-либо объявленном инструменте, который будет делать это. Это, возможно, в один день, поскольку я уверен, что это для многих других.

-odir и -hidir можно использовать с ghc для размещения файлов *.o и *.hi в отдельных каталогах. Вы можете прочитать больше в раздел руководства пользователя GHC по отдельной компиляции)

Edit2:

Другие соответствующие/перекрывающиеся сообщения: