Jump to content

Идентификатор (язык программирования)

Irvine Dataflow ( Id общего назначения ) — язык параллельного программирования , созданный в Калифорнийском университете в Ирвине в 1975 году. [1] Арвинд . и К.П. Гостелов [2] Арвинд продолжал работать с Id в Массачусетском технологическом институте до 1990-х годов.

Основное подмножество Id — это чисто функциональный язык программирования с нестрогой семантикой . Возможности включают в себя: функции высшего порядка , систему полиморфных типов со статической проверкой типов в стиле Милнера с перегрузкой, определяемые пользователем типы и сопоставление с образцом, а также префиксные и инфиксные операторы. Это привело к развитию pH, параллельного диалекта Haskell .

Программы id являются мелкозернистыми и неявно параллельными .

Абстракция переменных синхронизации MVar в Haskell основана на M-структурах Id. [3]

Id поддерживает алгебраические типы данных , аналогичные ML, Haskell или Miranda:

type bool = False | True;

Типы выводятся по умолчанию, но могут быть аннотированы с помощью typeof декларация. Переменные типа используют синтаксис *0, *1, и т. д.

typeof id = *0 -> *0;
def id x = x;

Функция, которая использует понимание массива для вычисления первого Числа Фибоначчи :

typeof fib_array = int -> (array int);
def fib_array n =
  { A = { array (0,n) of
        | [0] = 0
        | [1] = 1
        | [i] = A[i-1] + A[i-2] || i <- 2 to n }
  In A };

Обратите внимание на использование нестрогой оценки в рекурсивном определении массива. A.

Мягкая стратегия оценки Id по умолчанию допускает циклические структуры данных. Следующий код создает циклический список, используя оператор cons :.

def cycle x = { A = x : A In A };

Однако, чтобы избежать бесконечного построения действительно бесконечных структур, явные задержки должны быть аннотированы с помощью #:

def count_up_from x = x :# count_up_from (x + 1);

Реализации

[ редактировать ]
pHжидкость
Система pHluid представляла собой исследовательскую реализацию языка программирования Id с будущими планами создания интерфейса для pH, параллельного диалекта языка программирования Haskell, реализованного в Кембриджской исследовательской лаборатории Digital. и некоммерческое использование. Он ориентирован на стандартное оборудование рабочих станций Unix.
  1. ^ Шарп, Дж. А. (1992). Вычисление потоков данных: теория и практика . Интеллект, Лимитед. п. 125. ИСБН  9780893919214 . Проверено 2 декабря 2014 г.
  2. ^ Арвинд; Гостелоу, Ким П.; Плуфф, Уил (1978). «(Предварительный) отчет об идентификаторе: асинхронный язык программирования и вычислительная машина (пересмотренный)» . Технический отчет TR-114, Департамент информатики и компьютерных наук, Калифорнийский университет, Ирвайн .
  3. ^ «Параллельный Haskell». Пейтон-Джонс, Гордон и Финн. ПОПЛ 1996.
[ редактировать ]
  • Справочное руководство по языку ID , Ришиюр С. Нихил, 1991.
  • «Язык асинхронного программирования для большой многопроцессорной машины», Арвинд и др., TR114a, отдел ISC, Калифорнийский университет в Ирвайне, декабрь 1978 г.


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d01f55cb6e673ba257510ecff525cb1b__1678776000
URL1:https://arc.ask3.ru/arc/aa/d0/1b/d01f55cb6e673ba257510ecff525cb1b.html
Заголовок, (Title) документа по адресу, URL1:
Id (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)