let serve _ r w =
let rec loop r w =
Reader.read_sexp r >>= fun req ->
(match req with
| `Eof -> ()
| `Ok req ->
let req = Request.t_of_sexp req in
Writer.write_sexp w (Response.sexp_of_t (eval req)));
loop r w
in
loop r w