Haskell (рус. Хаскелл) - стандартизированный, исключительно функциональный язык, с нестрогой семантикой. Назван в честь американского математика Хаскелла Карри, работы в области математической логики которого являются базовыми для функционального программирования. Хаскель базируется на лямбда исчислении. Важнейшими реализациями являются компилятор Glasgow Haskell Compiler(GHC) и интерпретатор Hugs.
История
В конце 1980-х годов, уже существовали некоторые функциональные языки программирования, с собственными достоинствами и недостатками. Для того чтобы наука получила единую основу для исследований, следовало разработать стандартизованный, современный, функциональный язык программирования. Тогда планировалось использовать язык программирования Миранда в качестве исходного варианта, однако, ее разработчики были в этом не заинтересованы. Так, в 1990 году и появился язык Хаскеля 1.0.
Текущая версия языка программирования является переработанным вариантом стандарта Хаскеля-98 1999 года. Сейчас Хаскель является функциональным языком программирования, который, в основном, используется для проведения исследований. Кроме того, существует большое количество вариантов языка программирования: Parallel Haskell, Distributed Haskell (ранее Gofin), Eager Haskell, Eden, DNA-Haskell, а также объектно-ориентированные варианты ( Haskell + +, O'Haskell, Mondrian). Для других, Хаскель был примером при разработке языка программирования. Например, в случае языка программирования Пайтон, было заимствования концепцию лямбда-нотации и синтаксис работы со списками.
Применение
Несмотря на сравнительно небольшую общину Хаскеля, он уже показал свои сильные стороны в нескольких проектах. Pugs - реализация долгожданного языка программирования Perl 6, с интерпретатором и компилятором, которые показали полезность Хаскеля лишь через несколько месяцев от написания; также GHC часто используется как испытательный стенд для передовых возможностей функционального программирования и оптимизаций. Darcs - это система контроля версий, которая имеет несколько инновационных особенностей. Linspire GNU / Linux использует Хаскеля для разработки системных утилит. Xmonad - это менеджер окон для X Window System, полностью написанный на Хаскеле.