Original author(s) | Alp Mestanogullari, Sönke Hahn, Julian Arni |
---|---|
Initial release | 2014 |
Written in | Haskell |
Operating system | Cross-platform |
Available in | English |
Type | Web framework |
License | BSD 3-clause license [1] |
Website |
www |
Servant is a web framework based on the programming language Haskell, with an emphasis on data type safety. [2] [3] [4] It is free and open-source software released under a BSD 3-clause license.
Servant provides a type-level domain-specific language (DSL) to describe World Wide Web application programming interfaces ( Web APIs); various interpretations of such descriptions are possible: as a server, which dispatches requests to handlers; as documentation and schema specifications for the API; and as client libraries in various languages. [5]
The type-level approach by Servant solves the expression problem by allowing the extensibility along the dimensions of both data and behavior. [5] New combinators or terms in the DSL can be modularly introduced, as can new interpretations of them, as entirely separate packages. As of 2023, well over 100 packages related to Servant have been published in the Haskell package repository. [6]
It is used in production by companies such as GitHub, [7] NoRedInk, [8] Klarna, [9] Input Output Global Inc. (in the Cardano project), [10] and Wire. [11]
{{
cite book}}
: CS1 maint: date and year (
link)