ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.10.2023
Просмотров: 23
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Язык функционального программирования «Haskell»
Haskell – чисто функциональный язык программирования, названный в честь Хаскелла Карри (Haskell B. Curry – 1900-1982), известного, главным образом, благодаря работам в области математической логики и комбинаторной логики в конце 1950-х – начале 1960-х годов
Haskell (hæskəl) — стандартизированный чистый функциональный язык программирования общего назначения. Является одним из самых распространённых языков программирования с поддержкой отложенных вычислений. Поскольку язык функциональный, то основная управляющая структура — это функция.
Отличительная черта языка — серьёзное отношение к типизации; во многом в этой связи язык назван в честь исследователя теории типов и изобретателя комбинаторной логики Хаскелла Карри.
Имеются средства взаимодействия с кодом на других языках программирования. Есть встроенная поддержка многозадачного и параллельного программирования, развитый инструментарий (средства автоматического тестирования, отладки и профилирования, в том числе для параллельных программ), существует несколько тысяч библиотек с открытым исходным кодом.
Немного из истории….
Haskell пренадлежит к семейству языков ML.
В 1990 г. была предложена первая версия языка «Haskell» 1.0.
В дальнейшем работа комитета продолжилось и в 1999 г был опубликован «The Haskell 98 Report», который стал стабильным стандартом языка на много лет.
Последняя версия языка – Haskell 2010 была объявлена в конце 2009 г, но последней «значительной» версией остается «Haskell 98»
Характеристики языка.
недопустимость побочных эффектов (чистота языка); возможность писать программы с побочными эффектами без нарушения парадигмы функционального программирования с помощью монад;
статическая сильная полная типизация с автоматическим выведением типов, основанная на типизации Хиндли — Милнера;
функции высшего порядка, в том числе лямбда-абстракции;
частичное применение;
ленивые вычисления (lazy evaluation);
сопоставление с образцом (англ. pattern matching), функциональные образцы, охраняющие выражения (guards);
параметрический полиморфизм и его объедение с ad hoc полиморфизмом в единую модель посредством классов типов;
алгебраические типы данных, в том числе псевдобесконечные (за счёт ленивости);
генераторы списков (list comprehensions);
возможность интеграции с программами, реализованными на императивных языках программирования посредством открытых интерфейсов (стандартное расширение языка Foreign Function Interface (англ.)
Типы данных и базовые конструкции языка Haskell
Элементарные типы данных
Знаки операций: +, -, *, <, ==
Integer, Int – целые значения
Float, Double – вещественные значения
Char – символьные значения
Bool – логические значения
Сферы применения Haskell
Финансовый сектор
Написание документов для обработки текста
Создание инструментов для тестирования кода на других языках программирования
Применяется для веб-разработки
Вопросы
В честь кого был назван язык программирования «Haskell»?
Деннис Ритчи
Кен Томпсон
Хаскелла Карри
Никлаус Вирт
Каким является языком программирования «Haskell» ?
Структурным
Логическим
Процедурным
Функциональным
В каком году была предложена первая версия языка «Haskell»?
1998
1990
1993
1995
Что является основой управляющей структурой языка?
Операторы
Выражения и операции
Функции процедуры
Какая версия является значительной версией «Haskell»?
«Haskell 93»
«Haskell 95»
«Haskell 98»
«Haskell 91»