6

Пример самоприменения специализатора:
Futamura-Turchin Projections

 

F ( x, y ) = z

 

Spec ( F, x ) = F'

 

F' ( y ) = z
 
                     
IntL (ProgL, Data ) = Result

 

Spec (IntL, ProgL ) = Prog'M

 

Prog'M (Data ) = Result
Spec (Spec, IntL ) = ComLM

 

ComLM (ProgL ) = Prog'M
Spec (Spec, Spec ) = CoCom

 

CoCom (IntL ) = ComLM

 

  • Специализация интерпретатора
  по программе   Þ   программа на выходном языке
  • Специализация специализатора
по интерпретатору Þ компилятор
  • Специализация специализатора
по специализатору Þ компилятор компиляторов