Семантика вычислений

Семантика вычислений

Семантика вычислений — это определение процесса вычисления в виде последовательности правил перезаписи, которое вместе с представлением о сходимости впервые были использованы в контексте \lambda-исчисления. Сходимость важна также в системах автоматического доказательства, основанных на эквациональной логике первого порядка.

Содержание

Операционная семантика

Операционная семантика (англ. operational semantics) используется для синтаксических понятий языка. В ней функции рассматриваются как текстуальные правильно построенные определения, обеспечивающие применение к аргументу, а не как функции в математическом понимании этого термина.

Денотационная семантика

Денотационная семантика (англ. denotational semantics) выражениям в программе ставит в соответствие настоящие математические объекты, то есть, выражения обозначают (англ. to denote — откуда «денотационная») их величины[1]. Важнейшие, в том числе пионерские, результаты построения таких семантик получены в работах Д. Скотта (D. Scott), который первым построил модель \lambda-исчисления, основанную на представлении о полном частично упорядоченном множестве. Для этого им были использованы функции, непрерывные на таком множестве.

Развитие семантики

Предметом постоянного интереса и исследования является построение систем доказательства корректности, или правильности программ. Наиболее разработанными оказались системы доказательства для случая корректности функциональных программ, которые восходят к системе LCF Робина Милнера и системе Р. Бойера (R. Boyer) и Дж. Мура (J. Moore).

Проводимые в настоящее время исследования сосредоточены на построении систем, основанных на конструктивной логике и установлении аналогии между программами и доказательствами. Существенно, что как программы, так и доказательства рассматриваются погруженными в \lambda-исчисление с типами, которое является формальной системой высших порядков. Тем самым обеспечивается возможность строить только такие программы, которые завершаются. Одной из подобных систем является система Coq.

В существующих языках используются различные подходы к построению стратегии вычисления значения. В языках семейства ML, а также в Scheme применяется вычисление по значению в варианте, допускающем использование не обязательно функциональных конструкций. В других языках используются отложенные вычисления, которые часто также называют ленивыми вычислениями. Механизмы такого рода использованы в языках Miranda и Haskell.

См. также

Примечания

  1. Филд А., Харрисон П. Функциональное программирование = Functional Programming. — М.: Мир, 1993. — С. 593-594. — 637 с. — ISBN 5-03-001870-0

Литература

  • Вольфенгаген В. Э. Конструкции языков программирования. Приемы описания. — М: АО «Центр ЮрИнфоР», 2001. — 276 с. ISBN 5-89158-079-9

Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Семантика вычислений" в других словарях:

  • Семантика (программирование) — Для термина «Семантика» см. другие значения. Семантика в программировании  дисциплина, изучающая формализации значений конструкций языков программирования посредством построения их формальных математических моделей. В качестве инструментов… …   Википедия

  • Семантика в программировании — система правил определения поведения отдельных языковых конструкций. Семантика определяет смысловое значение предложений алгоритмического языка. См. также * Семантическая паутина * Семантика вычислений …   Википедия

  • Модель вычислений — Иные значения см. разделе в Компьютерное моделирование. Теория вычислимости и теория сложности вычислений трактует модель вычисления (англ. model of computation) не только как определение множества допустимых операций, использованных для… …   Википедия

  • Модели вычислений — Иные значения см. разделе в Компьютерное моделирование. Теория вычислимости и теория сложности вычислений трактует модель вычисления (англ. model of computation) не только как определение множества допустимых операций, использованных для… …   Википедия

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

  • Частично упорядоченное множество — У этого термина существуют и другие значения, см. Упорядоченное множество. Подмножества {x, y, z}, упо …   Википедия

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

  • Модель акторов — В компьютерных науках модель акторов представляет собой математическую модель параллельных вычислений, которая трактует понятие «актор» как универсальный примитив параллельного численного расчёта: в ответ на сообщения, которые он получает, актор… …   Википедия

  • T++ — Семантика: мультипарадигмальный: объектно ориентированное, обобщённое, процедурное, метапрограммирование, функциональное, параллельное программирование Тип исполнения: компилируемый Появился в: 1980 е …   Википедия

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


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

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