tutorial: tweaks
This commit is contained in:
parent
cc0a736daf
commit
cf4af0143e
3 changed files with 10 additions and 12 deletions
|
@ -3,10 +3,10 @@ servant – A Type-Level Web DSL
|
||||||
|
|
||||||
.. image:: https://raw.githubusercontent.com/haskell-servant/servant/master/servant.png
|
.. image:: https://raw.githubusercontent.com/haskell-servant/servant/master/servant.png
|
||||||
|
|
||||||
``servant`` is a set of packages for declaring web APIs at the type-level and
|
**servant** is a set of packages for declaring web APIs at the type-level and
|
||||||
then using those API specifications to:
|
then using those API specifications to:
|
||||||
|
|
||||||
- write servers (this part of ``servant`` can be considered a web framework),
|
- write servers (this part of **servant** can be considered a web framework),
|
||||||
- obtain client functions (in haskell),
|
- obtain client functions (in haskell),
|
||||||
- generate client functions for other programming languages and
|
- generate client functions for other programming languages and
|
||||||
- generate documentation for your web applications.
|
- generate documentation for your web applications.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Introduction
|
Introduction
|
||||||
------------
|
------------
|
||||||
|
|
||||||
*servant* has the following guiding principles:
|
**servant** has the following guiding principles:
|
||||||
|
|
||||||
- concision
|
- concision
|
||||||
|
|
||||||
|
@ -23,9 +23,9 @@ Introduction
|
||||||
- separation of concerns
|
- separation of concerns
|
||||||
|
|
||||||
Your handlers and your HTTP logic should be separate. True to the philosphy
|
Your handlers and your HTTP logic should be separate. True to the philosphy
|
||||||
at the core of HTTP and REST, with *servant* your handlers return normal
|
at the core of HTTP and REST, with **servant** your handlers return normal
|
||||||
Haskell datatypes - that's the resource. And then from a description of your
|
Haskell datatypes - that's the resource. And then from a description of your
|
||||||
API, *servant* handles the *presentation* (i.e., the Content-Types). But
|
API, **servant** handles the *presentation* (i.e., the Content-Types). But
|
||||||
that's just one example.
|
that's just one example.
|
||||||
|
|
||||||
- type safety
|
- type safety
|
||||||
|
@ -38,7 +38,3 @@ might expect. The core idea is *reifying the description of your API*. Once
|
||||||
reified, everything follows. We think we might be the first web framework to
|
reified, everything follows. We think we might be the first web framework to
|
||||||
reify API descriptions in an extensible way. We're pretty sure we're the first
|
reify API descriptions in an extensible way. We're pretty sure we're the first
|
||||||
to reify it as *types*.
|
to reify it as *types*.
|
||||||
|
|
||||||
To be able to write a webservice you only need to read the first two sections,
|
|
||||||
but the goal of this document being to get you started with servant, we also
|
|
||||||
cover the couple of ways you can extend servant for a great good.
|
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
Tutorial
|
Tutorial
|
||||||
========
|
========
|
||||||
|
|
||||||
This is an introductory tutorial to the current version of *servant*, which is
|
This is an introductory tutorial to **servant**.
|
||||||
**0.4**. Any comment or issue can be directed to `this website's issue
|
|
||||||
tracker <http://github.com/haskell-servant/haskell-servant.github.io/issues>`_.
|
(Any comments, issues or feedback about the tutorial can be handled
|
||||||
|
through
|
||||||
|
`servant's issue tracker <http://github.com/haskell-servant/servant/issues>`_.)
|
||||||
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
|
|
Loading…
Reference in a new issue