Jump to content

Категориальная абстрактная машина

Категориальная абстрактная машина ( CAM ) — это модель вычислений для программ. [1] сохраняющий возможности аппликативного, функционального или композиционного стиля. Он основан на методах аппликативных вычислений .

Обзор [ править ]

Понятие категориальной абстрактной машины возникло в середине 1980-х годов. Она заняла свое место в информатике как своего рода теория вычислений для программистов, представленная декартовой замкнутой категорией и встроенная в комбинаторную логику . CAM — это прозрачное и надежное математическое представление языков функционального программирования. Машинный код можно оптимизировать, используя эквациональную форму теории вычислений. Используя CAM, можно эмулировать различные механизмы вычислений, такие как рекурсия или отложенное вычисление , а также передачу параметров, например вызов по имени , вызов по значению и т. д. Теоретически CAM сохраняет [ как? ] все преимущества объектного подхода к программированию или вычислениям.

Основной текущей реализацией является OCaml, который добавил наследование классов и динамическую отправку методов в Caml язык категориальных абстрактных машин . Оба являются вариантами MetaLanguage ML , и все три языка реализуют вывод типа .

Реализация [ править ]

Один из подходов к реализации функциональных языков даёт машина на основе суперкомбинаторов , или SK-машина, Д. Тёрнера. Понятие CAM дает альтернативный подход. Структура CAM состоит из синтаксической, семантической и вычислительной составляющих. Синтаксис основан на де Брейна нотации , которая позволяет преодолеть трудности использования связанных переменных. Оценки аналогичны оценкам П. Ландина SECD-машины . Благодаря этому освещению CAM дает прочную основу для синтаксиса, семантики и теории вычислений . Это понимание возникает под влиянием функционального стиля программирования.

См. также [ править ]

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

  1. ^ Кузино Г., Кюрьен П.-Л., Мони М. Категорическая абстрактная машина. — LNCS, 201, Языки функционального программирования, компьютерная архитектура. — 1985, стр. ~50–64.

Дальнейшее чтение [ править ]

  • Вольфенгаген, В.Е. Комбинаторная логика в программировании : Вычисления с объектами посредством примеров и упражнений . 2-е изд. М.: ООО «Центр ЮрИнфоР», 2003. x+337 с. ISBN   5-89158-101-9 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c02cbe0d9e3a97b31ce29e507b4711ee__1652182860
URL1:https://arc.ask3.ru/arc/aa/c0/ee/c02cbe0d9e3a97b31ce29e507b4711ee.html
Заголовок, (Title) документа по адресу, URL1:
Categorical abstract machine - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)