Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Chu2 Agda Web Server Interface
Haskell Ruby
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
src
.gitignore
Guardfile
LICENSE
Nemesis
Setup.lhs
chu2.cabal
readme.md

readme.md

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

Something went wrong with that request. Please try again.