RUS  ENG
Полная версия
ЖУРНАЛЫ // Информатика, телекоммуникации и управление // Архив

Научно-технические ведомости СПбГПУ. Информатика. Телекоммуникации. Управление, 2018, том 11, выпуск 2, страницы 35–46 (Mi ntitu206)

Программное обеспечение вычислительных, телекоммуникационных и управляющих систем

Реляционное программирование с мемоизацией и отрицанием

Е. А. Моисеенко, А. В. Подкопаев

Санкт-Петербургский государственный университет

Аннотация: Реляционная парадигма позволяет описывать программы как набор отношений. Отношения не делают различий между входными и выходными параметрами. Благодаря этому одна и та же реляционная программа может использоваться для решения нескольких связанных проблем. В статье представлена реализация двух расширений реляционного программирования, полезных при разработке интерпретаторов: табличной мемоизации и конструктивного отрицания. Мемоизация позволяет эффективно обходить пространство состояний интерпретатора, а отрицание – проверять, что заданное состояние интерпретатора недостижимо. Полезность данных расширений продемонстрирована на примере интерпретатора для многопоточного императивного языка программирования.

Ключевые слова: реляционное программирование, декларативное программирование, логическое программирование в ограничениях, табличная мемоизация, конструктивное отрицание.

УДК: 004.434

DOI: 10.18721/JCSTCS.11203



© МИАН, 2024