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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

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

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

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

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

Див. також[ред.ред. код]


Зноски[ред.ред. код]

  1. а б https://bartoszmilewski.com/2014/11/24/types-and-functions/

Посилання[ред.ред. код]

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