Advertisement
Guest User

Untitled

a guest
May 23rd, 2015
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
OCaml 0.84 KB | None | 0 0
  1. let forever_ =
  2.   let time_stamp c_or_s =
  3.     Time.now () |>
  4.       Time.to_string_trimmed |>
  5.       fun f ->
  6.       f Core.Zone.local |>
  7.         fun format_me ->
  8.         "[" ^ format_me ^ "]" ^ "[" ^ CLI.to_string c_or_s ^ "]" in
  9.   fun (c_or_s : CLI.t) a_reader a_writer ->
  10.   let forced_stdin = Lazy.force Reader.stdin in
  11.   let rec server_side () =
  12.     don't_wait_for (Pipe.iter_without_pushback (Reader.pipe a_reader) ~f:(fun str -> print_endline str));
  13.     Reader.really_read_line (sec 0.0) forced_stdin >>= fun input ->
  14.     match input with
  15.     | Some a_string ->
  16.        let total_output = (time_stamp c_or_s) ^ a_string in
  17.        Stack.push chatroom total_output;
  18.        Writer.write_line a_writer (Stack.top_exn chatroom);
  19.        server_side ()
  20.     | None ->
  21.        print_endline "Nothing";
  22.        server_side ()
  23.   in
  24.   server_side ()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement