| Servant | |
|---|---|
| Original authors | Alp Mestanogullari, Sönke Hahn, Julian Arni |
| Initial release | 2014; 12 years ago (2014) |
| Preview release | 0.16 / 2018; 8 years ago (2018) |
| Written in | Haskell |
| Operating system | Cross-platform |
| Available in | English |
| Type | Web framework |
| License | BSD 3-clause[1] |
| Website | www |
Servant is aweb framework based on thefunctionalprogramming languageHaskell, with an emphasis ondata typesafety.[2][3][4][5] It isfree and open-source software released under aBSD 3-clause license.
Servant provides a type-leveldomain-specific language (DSL) to describeWorld Wide Web application programming interfaces (Web APIs); various interpretations of such descriptions are possible: as aserver, which dispatches requests to handlers; as documentation and schema specifications for the API; and as client libraries in various languages.[6]
The type-level approach by Servant solves theexpression problem by allowing the extensibility along the dimensions of both data and behavior.[6] Newcombinators or terms in the DSL can be modularly introduced, as can new interpretations of them, as entirely separate packages. As of 2023[update], well over 100 packages related to Servant have been published in the Haskell package repository.[7]
It is used in production by companies such asGitHub,[8]NoRedInk,[9]Klarna,[10] Input Output Global Inc. (in theCardano project),[11] andWire.[12]
Thisfree and open-source software article is astub. You can help Wikipedia byadding missing information. |