1 год назад
Курс:  Метавычисления и их приложения: суперкомпиляция и нестандартные семантики
34 подписчика

В учебном курсе определяется один из методов метавычислений — суперкомпиляция,— и для простого (но полного) языка программирования TSG строится соответствующая метапрограмма — суперкомпилятор.

Суперкомпилятор позволяет по заданной программе p вычислять ее эффективную версию pcls, специализированную под случай, когда входные данные d не произвольные, а берутся из некоторого множества (заданного некоторым классом cls). Показано, что суперкомпиляция может эффективно решать классические задачи специализации программ, реализовывать классические проекции Футамуры–Турчина. В курсе рассмотрен перенос суперкомпиляции на произвольный язык программирования. В завершении курса вводятся понятия нестандартных семантик и модификаторов семантик языков программирования. Показано, что эти понятия обобщают конструкции переноса в произвольные языки программирования таких механизмов как окрестностный анализ, инверсное вычисление, суперкомпиляция, да и стандартное вычисление. Курс завершается построением семи схем проекций, которые (за счёт специализации, например, при помощи суперкомпилятора) позволяют получить семь программ для эффективной реализации нестандартных семантик.