chu2: FFI for Chu2 Agda Web Server Interface

[ bsd3, library, web ] [ Propose Tags ] [ Report a vulnerability ]

FFI for Chu2 Agda Web Server Interface


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 2012.11.16, 2012.11.16.1, 2012.11.17, 2012.11.17.1, 2012.11.17.2, 2012.11.18, 2012.11.18.1, 2012.11.18.2, 2012.11.19, 2012.11.20
Dependencies base (>=4 && <6), bytestring, data-default, hack2, hack2-handler-snap-server, utf8-string [details]
License BSD-3-Clause
Author Jinjing Wang
Maintainer Jinjing Wang <nfjinjing@gmail.com>
Category Web
Home page https://github.com/nfjinjing/chu2
Uploaded by JinjingWang at 2012-11-20T02:11:49Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 7799 total (20 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for chu2-2012.11.20

[back to package description]

Chu2 Agda Web Server Interface

hello world example

module Hello where

open import IO              using (return) renaming (run to io)
open import Data.List       using ([])
open import Function        using (const)
open import Chu2            using (response; OK; Application) 

hello-world-response = response OK [] ("Hello Agda!")

hello-world-app : Application
hello-world-app = const (return hello-world-response)

open import Chu2.Handler.SnapServer using (on-port_run)
main = io (on-port 3000 run hello-world-app)

Using Middleware

module Hello2 where

-- simple-logger middleware
open import Chu2.Middleware.SimpleLogger using (simple-logger)

open import IO              using (return) renaming (run to io)
open import Function        using (const)
open import Chu2            using (Application; default-response)

default-app : Application
default-app = const (return default-response)

app : Application
app = simple-logger default-app

open import Chu2.Handler.SnapServer using (on-port_run)
main = io (on-port 3001 run app)

Full spec

Chu2.agda

Note