Учебники

Haskell — Обзор

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» на консоли.

Live Demo

main = putStrLn "Hello World"

Как только компилятор Haskell обнаружит вышеуказанный фрагмент кода, он быстро выдаст следующий вывод:

Hello World 

В этом руководстве мы приведем множество примеров, чтобы продемонстрировать всю мощь и простоту Haskell.