ФЭНДОМ


Haskell

Haskell - стандартизированный чистый функциональный язык программирования общего назначения. Система типов языка основана на системе типов Хиндли - Милнера.

ИсторияПравить

Haskell принадлежит к семейсту языков ML. В 1990 году была предложена первая версия языка, Haskell 1.0. В 1999 году был опубликован "The Haskell 98 Report", который стал стабильным стандартом языка на много лет. В конце 2009 года была объявлена версия языка Haskell 2010.

Характеристики языкаПравить

  • элегантное решение проблемы побочных эффектов: с одной стороны - недопустимость побочных эфектов, с другой стороны - возможность писать программы с побочными эффектами с помощью монад, что не нарушает парадигму функционального программирования
  • полная сильная статическая типизация с автоматическом выведением типов, основанная на типизации Хиндли - Милнера
  • функции высшего порядка
  • частичное применение функции (каррирование)
  • ленивые вычисления (lazy evaluation)
  • сопоставление с образцом (pattern matching), охраняющие выражения (guards)
  • параметрический полиморфизм (parametric polymorphism), ad-hoc полиморфизм (ad-hoc polymorphism) используя класс типов
  • алгебраический типы данных, в том числе псевдобесконечные (за счет ленивости)
  • генераторы списков
  • возможность интеграции с программами, написанными на императивных языках программирования используя открытые интерфейсы (стандартное расширение языка [Foreign Function Intergace]

Пример кодаПравить

Быстрая сортировка

 quicksort :: Ord a => [a] -> [a]
 quicksort []     = []
 quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
     where
         lesser  = filter (< p) xs
         greater = filter (>= p) xs
 Prelude> quicksort [6, 5, 4, 0, 1, 2, 3]
 [0,1,2,3,4,5,6]

Приложения с открытым исходным кодомПравить

  • Pandoc - универсальный конвертер текста между различными языками разметки

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики