Allow '-' to mean read from stdin.
[ocaml-csv.git] / csv.mli
diff --git a/csv.mli b/csv.mli
index baf9e5c..14901e4 100644 (file)
--- a/csv.mli
+++ b/csv.mli
@@ -1,6 +1,6 @@
 (** csv.mli - comma separated values parser
   *
-  * $Id: csv.mli,v 1.7 2005-11-25 14:08:46 rich Exp $
+  * $Id: csv.mli,v 1.10 2006-11-24 15:49:24 rich Exp $
   *)
 
 type t = string list list
@@ -26,6 +26,7 @@ val load_in : ?separator:char -> in_channel -> t
 val load : ?separator:char -> string -> t
 (** Load a CSV file.
   * @param filename CSV filename.
+  * If [filename] is ["-"] then load from [stdin].
   *)
 
 val load_rows : ?separator:char -> (string list -> unit) -> in_channel -> unit
@@ -105,6 +106,22 @@ val sub : int -> int -> int -> int -> t -> t
   * The returned CSV will be square.
   *)
 
+val compare : t -> t -> int
+(** Compare two CSV files for equality, ignoring blank cells at the end
+  * of a row, and empty rows appended to one or the other.  This is
+  * "semantic" equality - roughly speaking, the two CSV files would
+  * look the same if opened in a spreadsheet program.
+  *)
+
+val concat : t list -> t
+(** Concatenate CSV files so that they appear side by side, arranged
+  * left to right across the page.  Each CSV file (except the final
+  * one) is first squared.
+  *
+  * (To concatenate CSV files so that they appear from top to bottom,
+  * just use {!List.concat}).
+  *)
+
 val to_array : t -> string array array
 val of_array : string array array -> t
 (** Convenience functions to convert to and from a matrix representation.