From c9e8dff919c49a13bff601e78cc1e78a7cc8f506 Mon Sep 17 00:00:00 2001 From: Akshay Date: Sun, 8 Aug 2021 17:38:33 +0530 Subject: dump --- src/marker.ml | 57 ++++++++++++++++++++++++--------------------------------- 1 file changed, 24 insertions(+), 33 deletions(-) (limited to 'src/marker.ml') diff --git a/src/marker.ml b/src/marker.ml index 19b1be0..0c59804 100644 --- a/src/marker.ml +++ b/src/marker.ml @@ -1,36 +1,27 @@ -module type Marker = sig - type t - val of_string : string -> t - val pp : out_channel -> t -> unit -end +type t = Point + | Pixel + | Circle + | TriangleDown + | TriangleUp + | TriangleLeft + | TriangleRight + | Custom of string -module Marker = struct - type t = Point - | Pixel - | Circle - | TriangleDown - | TriangleUp - | TriangleLeft - | TriangleRight - | Custom of string +exception Invalid_marker_length +let of_string s = + if String.length s <> 1 + then raise Invalid_marker_length + else Custom(s) - exception Invalid_marker_length - let of_string s = - if String.length s <> 1 - then raise Invalid_marker_length - else Custom(s) - - let pp channel n = - (match n with - | Point -> "." - | Pixel -> "," - | Circle -> "o" - | TriangleDown -> "v" - | TriangleUp -> "^" - | TriangleLeft -> ">" - | TriangleRight -> "<" - | Custom(s) -> s) - |> Printf.fprintf channel "%s" - -end +let pp channel n = + (match n with + | Point -> "." + | Pixel -> "," + | Circle -> "o" + | TriangleDown -> "v" + | TriangleUp -> "^" + | TriangleLeft -> ">" + | TriangleRight -> "<" + | Custom(s) -> s) + |> Printf.fprintf channel "%s" -- cgit v1.2.3