Описать запуск в README
Запишите версии инструментов и минимальные команды. Проверьте инструкцию в новой копии каталога, чтобы обнаружить незадокументированные файлы и настройки.
Haskell · От одного файла к проекту · на английском
Обзор курса Packt Publishing
Между функцией в GHCi и поддерживаемым проектом есть отдельный навык: структура файлов, сборка, импорты, зависимости и повторяемый запуск. Именно этот переход рассматривает Writing Haskell Programs. Курс небольшой и предметный, но инструкции 2017 года требуют проверки по современной документации.
RusUdemyПомогаем оформить выбранный курс в личном аккаунте Udemy — без общих аккаунтов и предоплаты.Подробнее
Инструменты · архивPackt Publishing · английский язык · обновление июнь 2017
Тем, кто уже пишет небольшие функции в GHCi, но теряется при сборке, импортах и подключении зависимостей.
Начальные навыки Haskell и опыт хотя бы одного языка. Нужно понимать простую функцию и типовую сигнатуру; курс не повторяет весь синтаксис с нуля.
Модульная структура проекта, настройки сборки, подключение библиотек и воспроизводимый цикл редактирования и тестирования.
Короткая программа 2017 года не является современным справочником всех команд Cabal и Stack. Она отдельная от Learning Path в подборке, но общие вводные идеи об инструментах естественно пересекаются. Для практики нужен компьютер с Windows, macOS или Linux, редактор и инструменты Haskell. Актуальную установку GHC и GHCi сверяйте с официальным GHCup; версии компилятора, сборщика и зависимостей сохраняйте в проекте. Курс записан в 2017 году. Сверяйте актуальные команды, форматы конфигурации, resolver и совместимость пакетов с официальной документацией Cabal и Stack.
Программа нужна не для повторения всех конструкций Haskell, а для организации работы вокруг кода. После каждого этапа полезно воспроизводить сборку из чистой копии проекта: локально установленный пакет или забытая настройка не должны быть скрытым условием запуска. Выбор Cabal или Stack стоит понимать как решение для проекта, а не соревнование двух инструментов.
Это самостоятельные упражнения RusUdemy, а не дополнительные уроки Udemy или обещание проверки преподавателем. Сохраняйте условия, свои решения, тесты и версию окружения: воспроизводимый результат важнее простого повторения кода.
Запишите версии инструментов и минимальные команды. Проверьте инструкцию в новой копии каталога, чтобы обнаружить незадокументированные файлы и настройки.
Вынесите чистые функции из Main в отдельный модуль. Экспортируйте только нужные имена и покажите, какие детали остаются внутренними.
Выберите библиотеку под конкретную задачу, проверьте поддерживаемые версии и лицензию. Зафиксируйте, где объявлена зависимость и почему проект без неё не собирается.
Добавьте маленький тест, затем намеренно сломайте функцию и убедитесь, что проверка это обнаруживает. Только после этого верните реализацию и опишите команду запуска тестов.
Удобно проходить программу на одном собственном проекте. Каждый новый инструмент должен решать наблюдаемую проблему: разделить имена, задать зависимость, повторить сборку или проверить изменение.
В проверенной карточке Udemy: 3 раздела, 13 лекций, 2 ч 43 мин материалов. Это объём курса, а не гарантированный срок освоения Haskell. На написание кода, поиск ошибок, тесты и настройку окружения потребуется дополнительное время. Темы ниже сгруппированы редакцией; точное оглавление доступно на Udemy.
После курса проверьте проект на второй машине или в чистой среде. Затем расширяйте функциональность небольшими изменениями с тестами; установка более сложной библиотеки сама по себе не делает проект лучше.
Редактирование, сборка, запуск и тестирование
Файлы Cabal и практические команды Stack
Создание модулей и управление экспортом
Импорт имён и разрешение конфликтов
Поиск и выбор пакетов в Hackage и Stackage
Подключение сторонних зависимостей

Для module, package, dependency, build и test запишите, к какой части проекта относится термин. Не переводите команды и поля конфигурации машинно: сравнивайте их с документацией выбранной версии. После урока воспроизведите шаг по своей короткой инструкции.
Как проходить курсы Udemy на английскомАнглийская озвучка и автоматические английские субтитры. Русские субтитры в проверенной карточке не заявлены; доступные языки и понятность речи проверьте в открытом уроке Udemy.
Пришлите ссылку на выбранную программу. Уточним текущую стоимость и поможем оформить её в вашем личном аккаунте Udemy. Материалы и прогресс останутся у вас.
Курс появляется в вашей личной библиотеке на Udemy. Никаких пиратских копий, общих аккаунтов или «серых» схем.
Вы оплачиваете покупку только после того, как курс появился в вашем аккаунте Udemy.
Обычно от первого сообщения до появления курса в аккаунте проходит около 10 минут.
В Telegram отвечает живой человек: можно задать вопрос и получить качественную поддержку по покупке.
Сначала согласуем курс и условия. Без общих аккаунтов и предоплаты.
Опыт работы с сервисом