Haskell один из наиболее мощных функциональных языков с нестрогой семантикой; получил своё название в честь математика Хаскелла Карри (Haskell Curry). Это один из наиболее популярных и активно развивающихся функциональных языков.
Наиболее важными возможностями Haskell являются: Haskell - ленивый (non-strict) язык Haskell - чисто функциональный (то есть не содержащий конструкций, неявно зависящих от состояния среды или изменяющих ее) Haskell содержит простой и логичных механизм перегрузки функций (известный как "классы типов"). По-видимому, возможные применения этого механизма выходят далеко за рамки решения непосредственной задачи. К примеру, классы типов обеспечивают возможности близкие (в целом - превосходящие), возможностям шаблонов С++, сохраняя при этом возможность раздельной трансляции императивные возможности реализуются в Haskell при помощи так называемых монад. Понимание этой конструкции является одной из наибольших проблем при изучении Haskell, но она стоит того, чтобы с ней разобраться
Haskell - превосходный язык для обучения и для экспериментов с сложными функциональными типами данных (многие идеи могут быть выражены непосредственно средствами Haskell).
Программы, написанные на Haskell, имеют значительный размер объектного кода и невысокую скорость исполнения.
Элементы синтаксиса:Комментарий до конца строки -- Комментарии, которые могут быть вложенными {- ... -} Регистрозависимость да Регулярное выражение идентификатора переменной [_a-z][_a-zA-Z0-9']* Группировка выражений ( ... ) или $ ... Блок { ... } Тождественное равенство == Тождественное неравенство /= Сравнение < > <= >= compare Определение функции f p1 p2 = ... Вызов функции f a b ... Вызов функции без параметров f Последовательность ; или конец строки или >> Если - то - иначе if condition then ... else ...
Дата создания: 1990 Создан под влиянием: ML Miranda Повлиял на: Scala Парадигма: нестрогая, функциональная Типизация: вывод типов, статическая, строгая Принятые расширения файлов: .hs .lhs Диалекты: Haskell 98 O'Haskell Реализации и версии (свернуть все | развернуть все): GHC Gofer HBI и HBC Haskell++ Helium Hugs Hugs98 for .NET Jaskell Jhc O'Hugs Template Haskell YHC Yale Haskell nhc98
|