Translate
martes, 8 de julio de 2014
Hacer una Api Rest con haskell es posible gracias a rest
Parece un juego de palabras pero no lo es rest es un framework (en la documentación dice conjunto de paquetes) que permiten hacer una Api Rest con Haskell.
A la vez se puede ejecutar estas librerías en varios frameworks web, como Happstack o Snap. También puede generar automáticamente la documentación de la API Rest, lo que garantiza que siempre coincide con el código. Del mismo modo, puede generar cliente para diferentes lenguajes como Javascript o Haskell.
Algo muy bueno es que la Api queda escrita como en un DSL muy fácil de mantener, veamos un ejemplo:
module Api.Post (resource) where
import Rest
import qualified Rest.Resource as R
type Title = String
resource :: Resource IO (ReaderT Title IO) Title () Void
resource = mkResourceReader
{ R.name = "post"
, R.schema = withListing () $ named [("title", singleBy id)]
, R.list = const list
, R.get = Just get
}
Dejo link:
http://silkapp.github.io/rest/
https://github.com/silkapp/rest/archive/master.zip