Compiling domain specific languages embedded in a dynamic language

Embedded domain specific languages (DSLs) has the advantage that many language features come for free from the host language in which it is embedded because it shares the same execution environment. But sometimes the DSL needs is to be executed in a different environment. In this talk we will show how to use a dynamic language as host language for a retargeted DSL and still maintain the benefits of embedding. We give examples of DSLs embedded in Python and show how they can be targeted to a paltform with very high performance requirements, the graphics processing unit (GPU) on modern graphics cards.