<div dir="ltr">Hello -cafe,<div><br></div><div>These past few weeks, with Sönke Hahn and Julian Arni, we've been working on a complete rewrite of servant, a library whose aim is to assist as much as possible in writing webservices.</div><div><br></div><div>We came up with a (type-level) "API combinator" based design, that lets us declare webservice APIs, implement handlers that serve those APIs, derive client functions in Haskell and Javascript to query those endpoints and generate documentation. This is all very composable, you can write your own combinators or write your own interpretation of an API's type, or just use the "standard" ones already provided by the core library.</div><div><br></div><div>Here's an announcement post with an example: <a href="http://alpmestan.com/posts/2014-12-09-rethinking-webservices-apis-haskell.html">http://alpmestan.com/posts/2014-12-09-rethinking-webservices-apis-haskell.html</a></div><div>Getting started guide: <a href="http://haskell-servant.github.io/getting-started/">http://haskell-servant.github.io/getting-started/</a></div><div>The reddit discussion (in case you prefer reddit to here for such discussions): <a href="http://www.reddit.com/r/haskell/comments/2orb8t/rethinking_webservice_and_apis_in_haskell_servant/">http://www.reddit.com/r/haskell/comments/2orb8t/rethinking_webservice_and_apis_in_haskell_servant/</a></div><div><br></div><div>All 4 libraries are installable with a simple 'cabal install', have a decent amount of documentation and accompanying examples.</div><div><br></div><div>We would be glad to hear any kind of feedback or ideas -- we're already deploying servant webservices in our respective companies so it suits our use cases, but we would gladly discuss new combinators and what not.</div><div><div><br></div>-- <br><div class="gmail_signature">Alp Mestanogullari</div>
</div></div>