Системы эффектов как механизм управления контекстными свободными переменными: единый взгляд


Системы эффектов как механизм управления контекстными свободными переменными: единый взгляд

Стоян А.С. (НИУ ВШЭ, Москва, Россия)

Аннотация

Системы эффектов поднимают сведения о вычислительных эффектах программы на уровень типов: они уточняют границы абстракций и позволяют компилятору проверять, что эффектное вычисление выполняется в поддерживающем его контексте. Тем не менее статическое отслеживание эффектов пока не стало повсеместной практикой: ведущие подходы – строки эффектов, возможности (capabilities) и модальные типы – обычно описываются с помощью различного технического аппарата, и проектировщику языка трудно увидеть общую картину пространства решений. Мы предлагаем объединяющий взгляд: система эффектов – это механизм управления контекстными свободными переменными вычисления – зависимостями, которые не передаются обычными аргументами, а должны разрешаться контекстом исполнения. Каждая такая переменная проходит жизненный цикл из двух фаз: она возникает ожидающей – с неразрешённым требованием к контексту; после разрешения зависимость может сохраниться внутри значения – либо буквально, посредством захвата свидетельства, либо в широком смысле, как зависимость от контекста построения. Семейства систем эффектов различаются тем, какие фазы и переходы этого цикла они поддерживают и как отражают их в типах. Классические строковые системы держат переменные ожидающими и не выражают захват. Системы на основе возможностей допускают захват, но удерживают захваченную переменную в предоставившем её контексте средствами escape-анализа. Модальные системы вместо запрета повторно освобождают утёкшую переменную, снова выставляя её в типе как требование к контексту. Сравнение семейств вдоль единой оси жизненного цикла показывает, что выбор поддерживаемых переходов предопределяет остальные черты дисциплины – от необходимого вида полиморфизма до мест сосредоточения аннотаций – и тем самым даёт проектировщику языка карту пространства решений.

Ключевые слова

системы эффектов; вычислительные эффекты; контекстные свободные переменные; свободные переменные; неявные параметры; escape-анализ; возможности; строки эффектов; модальные типы; системы типов; контекстный полиморфизм.

Издание

Труды Института системного программирования РАН, том 38, вып. 4, часть 1, 2026, стр. 69-88.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2026-38(4)-4

Для цитирования

Стоян А.С. Системы эффектов как механизм управления контекстными свободными переменными: единый взгляд. Труды Института системного программирования РАН, том 38, вып. 4, часть 1, 2026, стр. 69-88. DOI: 10.15514/ISPRAS-2026-38(4)-4.

Полный текст статьи в формате pdf Вернуться к содержанию тома