Haskell — это язык функционального программирования, который был специально разработан для обработки символьных вычислений и обработки списков. Функциональное программирование основано на математических функциях. Помимо Haskell, некоторые из других популярных языков, которые следуют парадигме функционального программирования, включают: Lisp, Python, Erlang, Racket, F #, Clojure и т. Д.
В традиционном программировании инструкции принимаются как набор объявлений в определенном синтаксисе или формате, но в случае функционального программирования все вычисления рассматриваются как комбинация отдельных математических функций.
Работать с Haskell
Haskell — широко используемый чисто функциональный язык. Здесь мы перечислили несколько моментов, которые делают этот язык таким особенным по сравнению с другими традиционными языками программирования, такими как Java, C, C ++, PHP и т. Д.
-
Функциональный язык — на обычном языке программирования мы инструктируем компилятору ряд задач, которые просто говорят вашему компьютеру «что делать» и «как делать?» Но в Haskell мы скажем нашему компьютеру «что это?»
-
Лень — Хаскель — ленивый язык. Под ленивым мы подразумеваем, что Хаскелл не будет оценивать любое выражение без какой-либо причины. Когда механизм оценки обнаруживает, что выражение необходимо оценить, он создает структуру данных thunk для сбора всей необходимой информации для этой конкретной оценки и указатель на эту структуру данных thunk . Механизм оценки начнет работать только тогда, когда потребуется оценить это конкретное выражение.
-
Модульность . Приложение на Haskell — это не что иное, как набор функций. Можно сказать, что приложение на Haskell представляет собой набор многочисленных небольших приложений на Haskell.
-
Статически Типизированный — В обычном языке программирования нам нужно определить ряд переменных вместе с их типом. Напротив, Haskell — строго типизированный язык. Под термином «язык строго типизированных» мы подразумеваем, что компилятор Haskell достаточно умен, чтобы определить тип объявленной переменной, поэтому нам не нужно явно указывать тип используемой переменной.
-
Ремонтопригодность — приложения на Haskell являются модульными, и поэтому их очень легко и экономично обслуживать.
Функциональный язык — на обычном языке программирования мы инструктируем компилятору ряд задач, которые просто говорят вашему компьютеру «что делать» и «как делать?» Но в Haskell мы скажем нашему компьютеру «что это?»
Лень — Хаскель — ленивый язык. Под ленивым мы подразумеваем, что Хаскелл не будет оценивать любое выражение без какой-либо причины. Когда механизм оценки обнаруживает, что выражение необходимо оценить, он создает структуру данных thunk для сбора всей необходимой информации для этой конкретной оценки и указатель на эту структуру данных thunk . Механизм оценки начнет работать только тогда, когда потребуется оценить это конкретное выражение.
Модульность . Приложение на Haskell — это не что иное, как набор функций. Можно сказать, что приложение на Haskell представляет собой набор многочисленных небольших приложений на Haskell.
Статически Типизированный — В обычном языке программирования нам нужно определить ряд переменных вместе с их типом. Напротив, Haskell — строго типизированный язык. Под термином «язык строго типизированных» мы подразумеваем, что компилятор Haskell достаточно умен, чтобы определить тип объявленной переменной, поэтому нам не нужно явно указывать тип используемой переменной.
Ремонтопригодность — приложения на Haskell являются модульными, и поэтому их очень легко и экономично обслуживать.
Функциональные программы более параллельны и выполняют параллелизм в выполнении, чтобы обеспечить более точную и лучшую производительность. Хаскелл не исключение; он был разработан таким образом, чтобы эффективно обрабатывать многопоточность .
Привет, мир
Это простой пример, демонстрирующий динамизм Хаскелла. Посмотрите на следующий код. Все, что нам нужно, это всего лишь одна строка, чтобы напечатать «Hello Word» на консоли.
main = putStrLn "Hello World"
Как только компилятор Haskell обнаружит вышеуказанный фрагмент кода, он быстро выдаст следующий вывод:
Hello World
В этом руководстве мы приведем множество примеров, чтобы продемонстрировать всю мощь и простоту Haskell.