Миранда (язык программирования)

Миранда (язык программирования)

Miranda — функциональный язык программирования, созданный в 1985 году Дэвидом Тёрнером в качестве стандартного функционального языка. Имеет строгую полиморфную систему типов, поддерживает типы данных пользователя. Как и язык ML преподаётся во многих университетах. Функциональные объекты строятся с помощью карринга (частичного применения) существующих функций. Обладает ленивой семантикой. Программа представляет собой множество определений.

Преемник языков SASL и KRC, использующий некоторые концепции ML и Hope. Оказал большое влияние на разработчиков языка Haskell.

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

Определение функции map и ее последующее применение к функции, увеличивающей аргумент на два:

map f[] = []
map f(x:s) = (f x):(map f s)
L = [1..6]
map((+)2) L
→ [3, 4, 5, 6, 7, 8]

Двоеточие определяет голову (первый элемент) и хвост (последующие элементы) списка как при его композиции, так и при сопоставлении с образцом. Функция для увеличения аргумента на 2 получена частичным применением примитивной функции + к аргументу 2. Запись [1..6] — укороченная запись [1, 2, 3, 4, 5, 6].

Пример списочного выражения:

[ n+2 | n <- [1..6] ]
→ [3, 4, 5, 6, 7, 8]

[править] Литература

  • Филд А., Харрисон П. Функциональное программирование. — М.: Мир, 1993. — 637 с — ISBN 5-03-001870-0;

[править] Ссылки


Источник — «%D0%9C%D0%B8%D1%80%D0%B0%D0%BD%D0%B4%D0%B0 (%D1%8F%D0%B7%D1%8B%D0%BA %D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)»

<< назад   вперед >>