domain specific embedded programming language

**constructive mathematics**, **realizability**, **computability**

propositions as types, proofs as programs, computational trinitarianism

A *domain specific programming language* is one designed for a specialized kind (“domain”) of applications. A *domain specific embedded programming language* (DSEL) is a domain specific language realized “inside” a general-purpose high level (typed) programming language.

There is at least some similarity between DSELs and synthetic mathematics, see for instance (Hudak 98, section 3.2). In (Hudak 98, figure 2) this shows aspects of a real-world DSL for “geometric region analysis” embedded in Haskell which under the relation between type theory and category theory/computational trinitarianism one immediately recognizes as a fragment of synthetic geometry.

- Paul Hudak,
*Modular Domain Specific Languages and Tools*, in*Proceedings of Fifth International Conference on Software Reuse*, IEEE Computer Society Press 1998 (pdf)

Discussion for embedding in Haskell is in

- HaskellWiki,
*Embedded domain specific language*

A list of literature is at

- Haskell Wiki,
*Research papers/Domain specific languages*