June 14th, 2019. Article by George Agapov
Embedded DSL (or eDSL) is a popular technique for encoding your domain specific language into Haskell’s type system. One example of such DSL is Ivory – eDSL for C code generation. Even more often it’s useful to implement your DSL as a Haskell data type and interpret it right from Haskell.