From 28332a45df59a8dc02c4b994a7b3f30fc97f35b2 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Mon, 4 Feb 2013 23:28:02 +0100 Subject: [PATCH] read sequence of chars from a channel --- sequence.ml | 6 ++++++ sequence.mli | 2 ++ 2 files changed, 8 insertions(+) diff --git a/sequence.ml b/sequence.ml index fa8703e..45a8d7a 100644 --- a/sequence.ml +++ b/sequence.ml @@ -192,6 +192,12 @@ module String = let b = Buffer.create 64 in iter (fun c -> Buffer.add_char b c) seq; Buffer.contents b + + let of_in ic = + from_iter (fun k -> + try while true do + let c = input_char ic in k c + done with End_of_file -> ()) end module Int = diff --git a/sequence.mli b/sequence.mli index 25791ef..3b15b08 100644 --- a/sequence.mli +++ b/sequence.mli @@ -144,6 +144,8 @@ module String : sig val to_seq : string -> char t val of_seq : char t -> string + + val of_in : in_channel -> char t end (** Sequences of ints *)