Servant
Haskell DSL for describing, serving, querying, mocking web apps
Servant provides a type-level domain-specific language (DSL) in Haskell for describing web APIs. From a single API specification, developers can derive server implementations, client libraries, documentation, and more—ensuring consistency and type safety across the stack.