diff options
-rwxr-xr-x | evaluator.ml | 25 | ||||
-rwxr-xr-x | unicode.ml | 2 |
2 files changed, 19 insertions, 8 deletions
diff --git a/evaluator.ml b/evaluator.ml index 490ab43..26541c7 100755 --- a/evaluator.ml +++ b/evaluator.ml @@ -32,13 +32,17 @@ let t_int = Num let t_string = String
let t_list t = List t
-let typ_of_format: type a. a dataFormat -> a typ = function
+let typ_of_format:
+type a. a dataFormat -> a typ =
+function
| Date -> Num
| Number -> Num
| String -> String
| Bool -> Bool
-let rec compare_typ: type a b. a typ -> b typ -> (a, b) T.cmp = begin fun a b ->
+let rec compare_typ:
+type a b. a typ -> b typ -> (a, b) T.cmp =
+begin fun a b ->
match a, b with
| Unit, Unit -> T.Eq
| Bool, Bool -> T.Eq
@@ -53,7 +57,9 @@ let rec compare_typ: type a b. a typ -> b typ -> (a, b) T.cmp = begin fun a b -> | x, y -> if (T.Ex x) > (T.Ex y) then T.Gt else T.Lt
end
-let rec print_typ: type a. Format.formatter -> a typ -> unit = fun printer typ -> match typ with
+let rec print_typ:
+type a. Format.formatter -> a typ -> unit =
+fun printer typ -> match typ with
| Unit -> Format.fprintf printer "Unit"
| Bool -> Format.fprintf printer "Bool"
| Num -> Format.fprintf printer "Num"
@@ -269,7 +275,9 @@ module C = struct catalog := Catalog.add name' map !catalog
end
- let inject: type a. a result -> (unit -> a dataFormat) -> a -> existencialResult = fun resultFormat f res ->
+ let inject:
+ type a. a result -> (unit -> a dataFormat) -> a -> existencialResult =
+ fun resultFormat f res ->
let (x:a value) = begin match resultFormat, res with
| Bool, x -> Bool x
| Numeric, x -> Num (f (), x)
@@ -280,7 +288,9 @@ module C = struct Result x
(** Look in the catalog for a function with the given name and signature *)
- let find_function: type a. string -> a t_function sig_typ -> a t_function = begin fun name signature ->
+ let find_function:
+ type a. string -> a t_function sig_typ -> a t_function =
+ begin fun name signature ->
Catalog.find (String.uppercase_ascii name) !catalog
|> Functions.find signature
end
@@ -290,8 +300,9 @@ end (** Guess the format to use for the result function from the arguments given.
The most specialized format take over the others.
*)
-let guess_format_result: type a. a result -> existencialResult list -> unit -> a dataFormat =
- begin fun init_value values () ->
+let guess_format_result:
+type a. a result -> existencialResult list -> unit -> a dataFormat =
+begin fun init_value values () ->
let init_typ = typ_of_result init_value in
@@ -1,4 +1,4 @@ -type t = Uutf.uchar array +type t = Uchar.t array type decoder_encoding = Uutf.decoder_encoding |