(module cock (serve) (import (scheme) (chicken base) (chicken process signal) (spiffy) (utf8)) (define (eprint . xs) (for-each (lambda (x) (display x (current-error-port))) xs) (newline (current-error-port))) (define (serve root port) (set-signal-handler! signal/int (lambda _ (eprint "stopping server") (exit))) (eprint "Starting web server in " root "...") (eprint "Served at http://localhost:" port) (eprint "[Ctrl-c to stop]") (parameterize ((server-port port) (root-path root)) (start-server))))