Chu2 Agda Web Server Interface =============================== ## hello world example ```agda module Hello where open import IO using (run; return) 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 = run (on-port 3000 run hello-world-app) ``` ## Using Middleware ```agda module Hello2 where -- simple-logger middleware open import Chu2.Middleware.SimpleLogger using (simple-logger) open import IO using (run; return) open import Function using (const) open import Chu2 using (Application; defaultResponse; RawMiddleware) -- https://github.com/nfjinjing/gumi open import Gumi.Light using (_-_) hello-world-app : Application hello-world-app = const - return defaultResponse open import Chu2.Handler.SnapServer using (on-port_run) main = run - on-port 3001 run - simple-logger hello-world-app ``` ## Note * need the Agda standard library: * need to read the Agda tutorial and be able to run Agda script from emacs: