WikiDer > Категориальная абстрактная машина
эта статья нужны дополнительные цитаты для проверка. (Декабрь 2012 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
В категориальная абстрактная машина (CAM) это модель вычисления для программ[1] который сохраняет возможности аппликативного, функционального или композиционного стиля. В его основе лежат техники прикладные вычисления.
Обзор
Понятие категориальной абстрактной машины возникло в середине 1980-х годов. Он занял свое место в информатике как своего рода теория вычислений для программистов в лице Декартова закрытая категория и встроен в комбинаторная логика. CAM - это прозрачное и надежное математическое представление языков функционального программирования. Машинный код может быть оптимизирован с использованием эквациональной формы теории вычислений. Используя CAM, различные механизмы вычислений, такие как рекурсия или ленивая оценка можно эмулировать, а также передачу параметров, например позвонить по имени, вызов по значению, и так далее. Теоретически CAM сохраняет[Как?] все преимущества объектного подхода к программированию или вычислениям.
Основная текущая реализация - OCaml, которая добавила наследование классов и отправку динамических методов в Caml категориальный абстрактный машинный язык, это варианты MetaLanguage ML примечателен выводом типов.
Реализация
Один из подходов к реализации функциональных языков дается машиной, основанной на суперкомбинаторы, или СК-машина Д. Тернера. Понятие CAM предлагает альтернативный подход. Структура CAM состоит из синтаксической, семантической и вычислительной составляющих. Синтаксис основан на de Bruijn’s обозначение, который преодолевает трудности использования связанных переменных. Оценки аналогичны оценкам П. Ландина Машина SECD. Благодаря этому CAM дает прочную основу для синтаксиса, семантики и теория вычислений. Это понимание возникает под влиянием функционального стиля программирования.
Смотрите также
использованная литература
- ^ Кузино Г., Куриен П.-Л., Мони М. Категорическая абстрактная машина. - LNCS, 201, Функциональные языки программирования, архитектура ЭВМ. - 1985, стр. ~ 50-64.
дальнейшее чтение
- Вольфенгаген, В. Комбинаторная логика в программировании: Вычисления с объектами с помощью примеров и упражнений. 2-е изд. М .: ООО "Центр ЮрИнфоР", 2003. x + 337 с. ISBN 5-89158-101-9.