Reflective Programming
Extension by pattern matching against
expressions [Nanevski & Pfenning]
Intensional interpretation guarantees soundness
Less efficient to implement but more expressive
Meta-ML [Taha et al. ‘99,’00] incorporates
modal and temporal types