Многоэтапное программирование
Многоэтапное программирование ( MSP ) — это разновидность метапрограммирования , в которой компиляция разделена на ряд промежуточных фаз, что позволяет генерировать типобезопасный код во время выполнения . [1] Статически определенные типы используются для проверки того, что динамически созданные типы действительны и не нарушают систему типов.
В языках MSP выражения уточняются с помощью обозначений, определяющих фазу, на которой они должны быть вычислены. Позволяя специализацию программы во время выполнения, MSP может оптимизировать производительность программ: его можно рассматривать как форму частичной оценки , которая выполняет вычисления во время компиляции в качестве компромисса для увеличения скорости выполнения. обработка. [2]
Многоэтапные языки программирования поддерживают конструкции, аналогичные в Лиспе и конструкции кавычек eval
, за исключением того, что области видимости . принимаются во внимание правила [2]
Ссылки [ править ]
- ^ Таха, Валид (2004). «Нежное введение в многоэтапное программирование» (PDF) . Генерация предметно-специфичной программы . Спрингер. стр. 30–50. Архивировано из оригинала (PDF) 4 августа 2017 г.
- ^ Jump up to: а б Таха, Валид; Шеард, Тим (2000). «MetaML и многоэтапное программирование с явными аннотациями» (PDF) . Теоретическая информатика . 248 (1): 211–242. дои : 10.1016/s0304-3975(00)00053-0 .