Миранда (язык программирования)
Ошибка скрипта: Модуля «hatnote» не существует.{{#if: | }} Miranda — функциональный язык программирования, созданный в 1985 году Дэвидом Тёрнером в качестве стандартного функционального языка. Шаблон:Язык программирования Имеет строгую полиморфную систему типов, поддерживает типы данных пользователя. Как и язык ML, преподаётся во многих университетах. Функциональные объекты строятся с помощью карринга (частичного применения) существующих функций. Обладает ленивой семантикой. Программа представляет собой множество определений.
Преемник языков SASL и Kent Recursive Calculator, использующий некоторые концепции ML и Hope. Оказал большое влияние на разработчиков языка Haskell.
Название языка происходит от имени героини пьесы «Буря» Уильяма Шекспира, Миранды. В ней она произносит фразу «О дивный новый мир!», что, по словам создателей, должно принести «дивный новый мир в функциональное программирование»<ref>About the name Miranda Шаблон:Wayback.</ref>. Также героиня изображена на логотипе языка.
Пример кода
Определение функции map и её последующее применение к функции, увеличивающей аргумент на два:
<source lang="haskell">
map f[] = [] map f(x:s) = (f x):(map f s) L = [1..6] map((+)2) L → [3, 4, 5, 6, 7, 8]
</source>
Двоеточие определяет голову (первый элемент) и хвост (последующие элементы) списка как при его композиции, так и при сопоставлении с образцом. Функция для увеличения аргумента на 2 получена частичным применением примитивной функции + к аргументу 2. Запись [1..6] — укороченная запись [1, 2, 3, 4, 5, 6].
Пример списочного выражения: <source lang="haskell">
[ n+2 | n <- [1..6] ] → [3, 4, 5, 6, 7, 8]
</source>