Haskell 23 — различия между версиями
TurtlePU (обсуждение | вклад) (→Домашние задания) |
TurtlePU (обсуждение | вклад) (→Домашние задания) |
||
Строка 79: | Строка 79: | ||
Условия публикуются в [https://github.com/TurtlePU/haskell-2023 репозитории курса]. | Условия публикуются в [https://github.com/TurtlePU/haskell-2023 репозитории курса]. | ||
− | # Повторение Haskell, введение в QuickCheck. До 8 февраля 23:59. [ | + | # Повторение Haskell, введение в QuickCheck. До 8 февраля 23:59. [https://github.com/TurtlePU/haskell-2023/tree/main/hw-quickcheck Ссылка] |
# TBA | # TBA | ||
# TBA | # TBA |
Версия 17:26, 25 января 2023
Содержание
Промышленное программирование на Haskell
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.
Лектор и семинарист: Павел Соколов aka @TurtlePU.
Ссылки
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy
Материалы курса: https://github.com/TurtlePU/haskell-2023
Записи лекций и семинаров: https://www.youtube.com/playlist?list=PLn8rjO6vyaY-UKMLisT-ncNhHufQ-_e_p
Таблица с оценками: https://docs.google.com/spreadsheets/d/1jBv9h6ZOsq8fSTbkB9Ug4D6LU6Ld8dz-9bKUh_IJumM/edit?usp=sharing
Setting up
- Если вы пользуетесь Windows, установите WSL2, если ещё не.
-
Установите ghcup — скачайте бинарный файл сами
либо введите одну любимую команду:
- MacOS:
brew install ghcup
- Arch-based distros:
yay -S ghcup-hs-bin
- WSL2, MacOS >= 10.13, Linux:
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
- Windows Powershell (cringe): Команда доступна по ссылке
- MacOS:
- Убедитесь, что путь до места установки
ghcup
содержится в$PATH
— запуститеghcup list
. -
Установите
recommended
версии компилятора, пакетного менеджера и языкового сервера:ghcup install ghc recommended ghcup install cabal recommended ghcup install hls recommended
- Убедитесь, что путь
~/.ghcup/bin
содержится в$PATH
. При необходимости добавьте этот путь сами. -
Создайте символические ссылки на установленные версии программ:
ghcup set ghc recommended ghcup set cabal recommended ghcup set hls recommended
-
Настройте LSP client в своей любимой среде разработки:
- Для VS Code есть плагин. Настройка: TBD
- В NeoVim настройте nvim-lspconfig, он знает про HLS.
- Инструкцию для других сред можно найти здесь.
- Опционально — установите Hoogle локально:
cabal install hoogle
-
Допишите в файл
~/.ghci
следующее::def hoogle \x -> return $ ":!hoogle \"" ++ x ++ "\"" :def hdoc \x -> return $ ":!hoogle --info \"" ++ x ++ "\""
- Теперь можно пользоваться Hoogle прямо из ghci с помощью команд
:hoogle
и:hdoc
План курса
Лекции, семинары
- Лекция: начало курса; где используется Haskell. Семинар: рекап курса по Функциональному программированию.
- Лекция: окончание рекапа; введение в тестирование с помощью QuickCheck. Семинар: практика с QuickCheck; newtype pattern.
Домашние задания
Практические задания по пройденным темам в виде мини-проектов cabal. За каждое домашнее задание можно получить до 12 баллов.
Условия публикуются в репозитории курса.
- Повторение Haskell, введение в QuickCheck. До 8 февраля 23:59. Ссылка
- TBA
- TBA
- TBA
Проект
TBA
Оценивание
Итог = Округление(min(10, 0.64 * ДЗ + 0.36 * ПР)),
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.
Округление арифметическое.
Дополнительная литература
- Will Kurt – Get Programming with Haskell
- Bryan O'Sullivan, Don Stewart, John Goerzen – Real World Haskell
- Alexander Granin – Functional Design and Architecture
- Sandy Maguire – Algebra-Driven Design