fbpx
Wikipedia

Servant (web framework)

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
Original author(s)Alp Mestanogullari, Sönke Hahn, Julian Arni
Initial release2014; 10 years ago (2014)
Written inHaskell
Operating systemCross-platform
Available inEnglish
TypeWeb framework
LicenseBSD 3-clause license[1]
Websitewww.servant.dev

Overview edit

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]

Usage edit

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]

See also edit

References edit

  1. ^ "Servant license". GitHub. Retrieved 10 February 2023.
  2. ^ Bragilevsky, Vitaly (2021). Haskell in Depth. Manning. ISBN 9781617295409.
  3. ^ Putrady, Ecky (2018). Practical Web Development with Haskell: Master the Essential Skills to Build Fast and Scalable Web Applications. Apress. ISBN 978-1484237380.
  4. ^ Mazumder, Mark; Braje, Timothy (2016). "Safe Client/Server Web Development with Haskell". 2016 IEEE Cybersecurity Development (SecDev). p. 150. doi:10.1109/SecDev.2016.040. ISBN 978-1-5090-5589-0. S2CID 1953852.
  5. ^ a b Mestanogullari, Alp; Hahn, Sönke; Arni, Julian; Löh, Andreas (2015). "Type-level web APIs with Servant: An exercise in domain-specific generic programming". Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming. pp. 1–12. doi:10.1145/2808098.2808099. ISBN 9781450338103. S2CID 14512955.{{cite book}}: CS1 maint: date and year (link)
  6. ^ "Browse and search packages". Haskell.org: Hackage.
  7. ^ Thomson, Patrick; Rix, Rob; Wu, Nicolas; Schrijvers, Tom (2022). "Fusing Industry and Academia at GitHub (Experience Report)". Proceedings of the ACM on Programming Languages. 6: 496–511. arXiv:2206.09206. doi:10.1145/3547639. S2CID 249889460.
  8. ^ "Type-Safe MySQL Queries via Postgres". NoRedInk Blog. 5 November 2019. Retrieved 16 February 2023.
  9. ^ Mulder, Felix. "Haskell in Production: Services at Klarna written in Haskell". Retrieved 16 February 2023.
  10. ^ "Cardano Wallet Design". Retrieved 16 February 2023.
  11. ^ "Servant". Wire Documentation. Retrieved 16 February 2023.

External links edit

  • Official website
  • Haskell-servant on GitHub


servant, framework, servant, framework, based, programming, language, haskell, with, emphasis, data, type, safety, free, open, source, software, released, under, clause, license, servantoriginal, author, mestanogullari, sönke, hahn, julian, arniinitial, releas. 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 ServantOriginal author s Alp Mestanogullari Sonke Hahn Julian ArniInitial release2014 10 years ago 2014 Written inHaskellOperating systemCross platformAvailable inEnglishTypeWeb frameworkLicenseBSD 3 clause license 1 Websitewww wbr servant wbr dev Contents 1 Overview 2 Usage 3 See also 4 References 5 External linksOverview editServant 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 Usage editIt 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 See also editYesod web framework Snap web framework References edit Servant license GitHub Retrieved 10 February 2023 Bragilevsky Vitaly 2021 Haskell in Depth Manning ISBN 9781617295409 Putrady Ecky 2018 Practical Web Development with Haskell Master the Essential Skills to Build Fast and Scalable Web Applications Apress ISBN 978 1484237380 Mazumder Mark Braje Timothy 2016 Safe Client Server Web Development with Haskell 2016 IEEE Cybersecurity Development SecDev p 150 doi 10 1109 SecDev 2016 040 ISBN 978 1 5090 5589 0 S2CID 1953852 a b Mestanogullari Alp Hahn Sonke Arni Julian Loh Andreas 2015 Type level web APIs with Servant An exercise in domain specific generic programming Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming pp 1 12 doi 10 1145 2808098 2808099 ISBN 9781450338103 S2CID 14512955 a href Template Cite book html title Template Cite book cite book a CS1 maint date and year link Browse and search packages Haskell org Hackage Thomson Patrick Rix Rob Wu Nicolas Schrijvers Tom 2022 Fusing Industry and Academia at GitHub Experience Report Proceedings of the ACM on Programming Languages 6 496 511 arXiv 2206 09206 doi 10 1145 3547639 S2CID 249889460 Type Safe MySQL Queries via Postgres NoRedInk Blog 5 November 2019 Retrieved 16 February 2023 Mulder Felix Haskell in Production Services at Klarna written in Haskell Retrieved 16 February 2023 Cardano Wallet Design Retrieved 16 February 2023 Servant Wire Documentation Retrieved 16 February 2023 External links editOfficial website Haskell servant on GitHub nbsp This Web software related article is a stub You can help Wikipedia by expanding it vte nbsp This free and open source software article is a stub You can help Wikipedia by expanding it vte Retrieved from https en wikipedia org w index php title Servant web framework amp oldid 1194948127, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.