Денотаційна семантика

Денотати́вна сема́нтика — це підхід до формалізації семантики програмних систем за допомогою математичних об'єктів, які описують зміст системи. Кожній конструкції мови програмування відповідає якась математична інтерпретація[1].

Денотаційна семантика виникла в роботах Кристофера Стречи[en] та Дана Скотта на початку 60-х років минулого століття. У їх ранніх роботах денотат (зміст) комп'ютерної системи інтерпретувався функцією яка відображає вхідні дані у вихідні. Пізніше Скотт перейшов до денотативної семантики заснованої на доменах. Опис системи у денотативній семантиці здійснюється за допомогою математичних об'єктів та абстрагований від її реалізації конкретною мовою програмування.

Важливим аспектом денотативної семантики є принцип композиційності, за яким денотат програми будується з денотатів її складових частин за допомогою операції композиції.

До того як Еугеніо Моджі відкрив що побічні ефекти можна описувати монадами, денотаційна семантика не підходила для опису таких програм, які щоправда дуже просто описувались операційною семантикою[1].

Див. також

ред.


Зноски

ред.
  1. а б Архівована копія. Архів оригіналу за 16 березня 2018. Процитовано 15 березня 2018.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)

Посилання

ред.
  1. Denotational Semantics [Архівовано 9 лютого 2018 у Wayback Machine.] на WikiWikiWeb
  2. Процик Петро Павлович. "Методи та засоби специфікації програмних систем"