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


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

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

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

Название языка происходит от имени героини пьесы «Буря» Уильяма Шекспира, Миранды. В ней она произносит фразу «О дивный новый мир!», что, по словам создателей, должно принести «дивный новый мир в функциональное программирование»[1]. Также героиня изображена на логотипе языка.

Содержание

Пример кода

Определение функции 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

Примечания

Ссылки



Wikimedia Foundation. 2010.

Смотреть что такое "Миранда (язык программирования)" в других словарях:

  • Язык программирования — Язык программирования  формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия,… …   Википедия

  • Си (язык программирования) — У этого термина существуют и другие значения, см. Си. Запрос «Язык программирования Си» перенаправляется сюда; см. также другие значения. Си Класс языка: процедурный Тип исполнения: компилируемый Появился в: 1969 1973 Автор( …   Википедия

  • Ада (язык программирования) — У этого термина существуют и другие значения, см. Ада. Ада Семантика: мультипарадигменный: конкурентное, обобщённое, императивное, объектно ориентированное, распределённое программирование Тип исполнения: компилируемый Появился в: 1980 …   Википедия

  • D (язык программирования) — У этого термина существуют и другие значения, см. D. D Семантика: мультипарадигменный: императивное, объектно ориентированное, обобщённое программирование Тип исполнения: компилятор Появился в: 1999 Автор(ы) …   Википедия

  • Оберон (язык программирования) — У этого термина существуют и другие значения, см. Оберон. Oberon Класс языка: императивный, структурированный, модульный Появился в: 1986 Автор(ы) …   Википедия

  • Паскаль (язык программирования) — Эта статья или раздел нуждается в переработке. В Паскале нет модулей, ООП и прочих новомодных веяний. Описание расширений должно присутствовать только в статьях о соответ …   Википедия

  • Форт (язык программирования) — У этого термина существуют и другие значения, см. Форт (значения). Forth Семантика: императивный Тип исполнения: интерпретатор/компилятор Появился в: 1971 Автор(ы): Чарльз Х. Мур Основные реализации …   Википедия

  • Scala (язык программирования) — У этого термина существуют и другие значения, см. Scala. Scala Класс языка: Мультипарадигмальный: функ …   Википедия

  • Oz (язык программирования) — Oz Семантика: функциональный, процедурный, декларативный, объектно ориентированный, вычисления с ограничениями, Н модели, параллельные вычисления Тип исполнения: компилируемый Появился в: 1991 Автор(ы): Gert Smolka his students Релиз …   Википедия

  • Лого (язык программирования) — У этого термина существуют и другие значения, см. Лого. Лого (англ. Logo) Появился в: 1967 Автор(ы): Сеймур Пейперт, Идит Харель Испытал влияние: Лисп …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.