Функциональный язык программирования со строгой статической типизацией с выводом типов.
https://learnxinyminutes.com/docs/ru-ru/haskell-ru/
Инструменты:
- GHC
- компилятор
- Hugs
- старый компилятор, который не используется
- GHCI
- REPL
- GHCId
- IDE-подобный REPL (с поддержкой Cabal)
- Cabal и Stack
- Утилиты сборки
- HLint
- Линтер
- Hindent
- Форматирование
- Hackage
- Пакеты Haskell https://hackage.haskell.org
- Hoogle
- Что-то вроде apropos для Haskell https://hoogle.haskell.org
Элементы:
- Анонимная функция \x -> x * 10 map (\x -> x * 10) [1..5] – [10, 20, 30, 40, 50]
{- Управление приоритетом вычисления В Haskell есть функция `$`, которая применяет свой первый аргумент ко второму с наименьшим приоритетом (обычное применение функций имеет наивысший приоритет) Эта функция часто позволяет избежать использования "лишних" скобок -} head (tail (tail "abcd")) -- 'c' head $ tail $ tail "abcd" -- 'c' -- того же эффекта иногда можно достичь использованием композиции (head . tail . tail) "abcd" -- 'c' head . tail . tail $ "abcd" -- 'c'