Начало нового проекта

Haskell:
Начало нового проекта

Как это сделать:

-- 1. Инициализация нового проекта на Haskell с использованием Stack
$ stack new myproject

-- Вышеприведенная команда создает новый каталог `myproject` с некоторыми файлами:
-- myproject/
-- ├── app/
-- │   └── Main.hs        # Ваш основной файл приложения
-- ├── src/               # Исходные файлы для библиотеки
-- ├── test/              # Тестовые файлы
-- ├── myproject.cabal    # Файл описания пакета
-- ├── stack.yaml         # Конфигурация Stack
-- └── Setup.hs           # Сценарий настройки сборки

-- 2. Сборка проекта
$ cd myproject
$ stack build

-- 3. Запуск вашего нового проекта Haskell
$ stack run

-- Пример вывода:
someFunc

Глубокое погружение

Проекты на Haskell часто зависят от инструментов вроде Stack или Cabal. Stack управляет зависимостями, обеспечивая согласованные сборки. В 2008 году Stack стал прорывом для Haskell, устраняя недостатки Cabal, связанные с конфликтами пакетов.

Альтернативы включают использование только Cabal или более новые инструменты, такие как GHCup или Nix, для воспроизводимых сборок. Вы можете выбрать Cabal для простоты или Nix, когда ваша работа требует воспроизводимости, но Stack находит золотую середину для многих.

Под капотом stack new использует шаблон для создания каркаса проекта. Он включает не только ваш исходный код, но также конфигурации для сборки и зависимостей. Файл .cabal является ключевым, содержа он метаданные и инструкции по сборке.

Смотрите также