Describir: Domain-Specific Languages and Code Synthesis Using Haskell.