@hackage chu22012.11.20
FFI for Chu2 Agda Web Server Interface
Categories
License
BSD-3-Clause
Maintainer
Jinjing Wang <nfjinjing@gmail.com>
Links
- Homepage
- Documentation
- No source repository
- Security
Versions
- 2012.11.20 Tue, 20 Nov 2012
- 2012.11.19 Mon, 19 Nov 2012
- 2012.11.18.2 Sun, 18 Nov 2012
- 2012.11.18.1 Sat, 17 Nov 2012
- 2012.11.18 Sat, 17 Nov 2012
- 2012.11.17.2 Sat, 17 Nov 2012 Show all…
Installation
Dependencies (6)
Dependents (1)
@hackage/acme-everything
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
Note
- need the Agda standard library: http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.StandardLibrary
- need to read the Agda tutorial and be able to run Agda script from emacs: http://www.cse.chalmers.se/~ulfn/papers/afp08/tutorial.pdf