Haskell один из наиболее мощных функциональных языков с нестрогой
семантикой; получил своё название в честь математика Хаскелла Карри
(Haskell Curry). Это один из наиболее популярных и активно
развивающихся функциональных языков.
Наиболее важными возможностями Haskell являются:
-
Haskell - ленивый (non-strict) язык
-
Haskell - чисто функциональный (то есть не содержащий конструкций, неявно зависящих от состояния среды или изменяющих ее)
-
Haskell содержит простой и логичных механизм перегрузки функций
(известный как "классы типов"). По-видимому, возможные применения этого
механизма выходят далеко за рамки решения непосредственной задачи. К
примеру, классы типов обеспечивают возможности близкие (в целом -
превосходящие), возможностям шаблонов С++, сохраняя при этом
возможность раздельной трансляции - императивные возможности реализуются в Haskell при
помощи так называемых монад. Понимание этой конструкции является одной
из наибольших проблем при изучении Haskell, но она стоит того, чтобы с
ней разобраться
Haskell - превосходный язык для обучения и для экспериментов с
сложными функциональными типами данных (многие идеи могут быть выражены
непосредственно средствами Haskell).
Программы, написанные на Haskell, имеют значительный размер объектного кода и невысокую скорость исполнения.