Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Категорична абстрактная машина ( 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 .