From 7a8958d4acfd1b9015d3429d5acd9cb8e75847f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Sch=C3=B6pf?= Date: Fri, 26 Aug 2022 16:18:00 +0200 Subject: [PATCH 1/3] fix compilation with OCaml 4.12.0 --- src/io/src/cleaner.ml | 2 +- src/smt/src/internalsolver.ml | 8 +++--- src/tool/main.o | Bin 3072 -> 3304 bytes src/util/src/argx.ml | 1 + src/util/src/isomorphism.ml | 5 ++-- src/util/src/listx.ml | 52 +++++++++++++++++----------------- src/util/src/prelude.ml | 4 +-- src/util/src/process.ml | 2 +- src/util/src/stringx.ml | 13 +++------ src/util/src/util.mli | 20 ++++--------- src/util/src/xsltproc.ml | 4 +-- 11 files changed, 48 insertions(+), 63 deletions(-) diff --git a/src/io/src/cleaner.ml b/src/io/src/cleaner.ml index 2a76614..f43bc45 100644 --- a/src/io/src/cleaner.ml +++ b/src/io/src/cleaner.ml @@ -830,7 +830,7 @@ let group_symbols alf = let arrayable = Alphabet.arraysorts_of alf in let arrdata sort = let arrsort = Alphabet.array_sort sort alf in - let sortstring = String.uppercase (Sort.to_string sort) in + let sortstring = String.uppercase_ascii (Sort.to_string sort) in (arrsort, " !ARRAY!" ^ sortstring ^ " : " ^ (Sort.to_string arrsort)) in let extra_sorts = List.map arrdata arrayable in diff --git a/src/smt/src/internalsolver.ml b/src/smt/src/internalsolver.ml index 1368e25..bc34013 100644 --- a/src/smt/src/internalsolver.ml +++ b/src/smt/src/internalsolver.ml @@ -226,7 +226,7 @@ let rec parse_iexp tr a e isparam = function try List.assoc fname tr with Not_found -> fname ) in - let name = String.lowercase name in + let name = String.lowercase_ascii name in (* recursion data *) let pargs = List.map (parse_exp tr a e isparam) args in let all_exps kind maker = @@ -287,7 +287,7 @@ and parse_aexp tr a e isparam = function try List.assoc fname tr with Not_found -> fname ) in - let name = String.lowercase name in + let name = String.lowercase_ascii name in (* recursion data *) let pargs = List.map (parse_exp tr a e isparam) args in (* parse values *) @@ -351,7 +351,7 @@ and parse_formula tr a e isparam = function try List.assoc fname tr with Not_found -> fname ) in - let name = String.lowercase name in + let name = String.lowercase_ascii name in (* recursion data *) let pargs = List.map (parse_exp tr a e isparam) args in let all_bools kind maker = @@ -1793,7 +1793,7 @@ let rec translate_int ren tra a e isparam = function try List.assoc name ren with Not_found -> name ) in - let name = String.lowercase name in + let name = String.lowercase_ascii name in let newargs = if name = "ite" then [] else List.map (translate_int ren tra a e isparam) args diff --git a/src/tool/main.o b/src/tool/main.o index 5419dced699e517a6f8d9b992e65726506847985..7e249db5be7533b2c257f47324f0768e076a3b4d 100644 GIT binary patch literal 3304 zcmbtW&2Jl35TEt7t^>*9q%Eox5Q{_s0bQpQl^`N;N|PALP}ByA1JZhJZ|qQe*V^5H zgM=FB1(XX1Bo5@z8wXBY5Q0l3KtfzVaNwV)1l*87GBa;y)|;md92jNaoB7S>n|Zs= zjkV@_$uL03fahQ;2@23ZG3D!ut;4-=8X7n6R2uuo32E%(-mGu5`TOUcU!I278urgxwQBByE9F%fhGP4KO6H#wLEVu7^byoowZJ4$t4F&>-kv% zwKz*GS9u>F{NiEUHpVS?Z~d@$Kfv4wUYDA)_SO2~(67A_23}l?{81R!I!QD*7r#Z_ zu~)CzPdXQ#fsQvEP={UD50YpXbDWa=Z(jvtTs0PFPgFj{qHs>?A@x~WE?d=>Rav#F zR)xfWqhs*Lq)2aO-J5FD^OvUpbLsiZAbrRim~eMq%y<*#GCt3kFq0QE-Ykgz0BWlR zm;5P(%e1l(@FLsmO}Tmm?jydC>x1eoVmrzn7mfB&F6zNY3OCZ(Sgu;CCrI;hd3kLlPKN$!bSeTa}s}?fTLI%F*xlwMmZ$G>BPzTi{J!d;yd^~I~ONj z=Q_*1V8)$zr0VBpK|E=&oidy{|WITqFVEG5e32)@*wi!Z)>>pPxi~G*JF~) z@0y>8y6q+^=>0x)w^0`VC2{0k&Mz?iqocBn@-Rynr- RR8x`vEw2ANG2~tM{|CD1A|U_( literal 3072 zcmbtW&2JM|5TDJ`WGP^r01{HD>I)_GV_gtJky=$Y)WJyMLrJJmFU#6~v8~v<)$US} zUO>tPDHjfv$^nU6d+oU=q*mg{u|4t!aA?mUr8945@Z0B&I55h-nfbl>+Ih3jx!+n{ znQqpVq*+ zS9KN-&v}oq=u?Q(L!^DbtyFszuUV;9ih*;J!g>Jy+baO9xaE_CBTzmBE=;|ij^x7Z zRQSBl(>Trt(k$e>=;oS3Y;3vkp`lGg7Y->qo3F8#sLx4c2K6h{Rs{EE7)?Yfi09Dq)Ankx6QhID$(&!DT+o z_y@%p`F?R~Y(wvq-$M-e>Gl|V1%8?(IUk6Ws8Q%=>RtxE7OBYu)8J3s&ls=jE0da0K;fA2EV5_!%inrKNhybB#ios5>Re62=rNUsqe#T z=uAD7zDcYG3({A?rH`U7qHqA8h5*c$`6`riT0org$b1R@8RPbi`UA%qFc&8NqJM%y zS^k@xzs-h}pK^%5itkg^pWxIcu5wl}zmr`)r_Vzpc zTRPZevBR$8R$2cZmz*E<&hFn3F*_z@YccpeDF)fLJ=`nH|2yZu!@hKWbT`=f>G!~n zNiI(rq`S=|+x8)D+8EhCWAIDU8D;zYb`UG8zset!_*4D#>uT5k1TjigxO-6lm-8>9 zY?Am3_6rJS`5T;H=A81=uekUNPXC|UvyTwmX8&JFG05&!S?y%L#4prfehje+K6ZY( Sqs#IS=%tWerorSi@I diff --git a/src/util/src/argx.ml b/src/util/src/argx.ml index df4170b..b2044bc 100644 --- a/src/util/src/argx.ml +++ b/src/util/src/argx.ml @@ -43,6 +43,7 @@ type anon_fun = string -> unit | Tuple of spec list | Symbol of string list * (string -> unit) | Rest of (string -> unit) + | Rest_all of (string list -> unit) | Expand of (string -> string array) type usage_msg = string diff --git a/src/util/src/isomorphism.ml b/src/util/src/isomorphism.ml index 3db66d1..59684f1 100644 --- a/src/util/src/isomorphism.ml +++ b/src/util/src/isomorphism.ml @@ -25,7 +25,6 @@ module type DOMAIN = sig type t val compare : t -> t -> int - val copy : t -> t val fprintf : Format.formatter -> t -> unit val hash : t -> int end @@ -83,9 +82,9 @@ module Make (D : DOMAIN) (R : RANGE) = struct let clear t = {domain = DH.clear_ t.domain; range = RH.clear_ t.range};; let copy t = - let add d r = DH.add_ (D.copy d) (R.copy r) in + let add d r = DH.add_ d r in let domain = DH.fold add t.domain (DH.create (DH.length t.domain)) in - let add r d = RH.add_ (R.copy r) (D.copy d) in + let add r d = RH.add_ r d in let range = RH.fold add t.range (RH.create (RH.length t.range)) in {domain = domain; range = range} ;; diff --git a/src/util/src/listx.ml b/src/util/src/listx.ml index dc85acb..ad9b498 100644 --- a/src/util/src/listx.ml +++ b/src/util/src/listx.ml @@ -57,7 +57,7 @@ module Set = struct else Node (l,v,r,(if hl >= hr then hl + 1 else hr + 1)) ;; - let rec add ?(c = compare) x = function + let rec add ?(c = Stdlib.compare) x = function | Empty -> Node (Empty,x,Empty,1) | Node (l,v,r,_) as t -> let n = c x v in @@ -66,7 +66,7 @@ module Set = struct else bal l v (add ~c:c x r) ;; - let rec mem ?(c = compare) x = function + let rec mem ?(c = Stdlib.compare) x = function | Empty -> false | Node (l,v,r,_) -> let n = c x v in n = 0 || mem ~c:c x (if n < 0 then l else r) @@ -189,20 +189,20 @@ let drop_while p = snd <.> spani (const p);; let take n = fst <.> split_at n;; let take_while p = fst <.> spani (const p);; -let rec group ?(c = compare) xs = +let rec group ?(c = Stdlib.compare) xs = let f (x,xs,ys) y = if c x y = 0 then (x,y::xs,ys) else (y,[y],xs::ys) in if xs = [] then [] else let (_,xs,ys) = foldl f (hd xs,[],[]) xs in rev (xs :: ys) ;; -let group_fully ?(c = compare) xs = group ~c:c (sort c xs);; +let group_fully ?(c = Stdlib.compare) xs = group ~c:c (sort c xs);; (* Constructors and Destructors *) let insert p e xs = let (hd,tl) = rev_split_at p xs in rev_append hd (e::tl);; -let replace ?(c = compare) x y = map_tl (fun z -> if c x z = 0 then y else z);; +let replace ?(c = Stdlib.compare) x y = map_tl (fun z -> if c x z = 0 then y else z);; let rev_concat xs = foldl (flip rev_append) [] xs;; let singleton x = [x];; -let remove_all ?(c = compare) x = filter (fun y -> c x y <> 0);; +let remove_all ?(c = Stdlib.compare) x = filter (fun y -> c x y <> 0);; let collapse ?(n = -1) xs = let chunk_size = if n < 1 then 1 else (length xs + n - 1)/n in @@ -215,7 +215,7 @@ let collapse ?(n = -1) xs = if chunk_size < 1 then [] else chunks xs ;; -let remove ?(c = compare) x xs = +let remove ?(c = Stdlib.compare) x xs = let rec remove acc = function | [] -> acc | y :: xs -> if c x y = 0 then rev_append xs acc else remove (y :: acc) xs @@ -223,7 +223,7 @@ let remove ?(c = compare) x xs = rev (remove [] xs) ;; -let rec remove_equal ?(c = compare) xs ys = match (xs, ys) with +let rec remove_equal ?(c = Stdlib.compare) xs ys = match (xs, ys) with | x :: us, y :: vs -> if c x y = 0 then remove_equal ~c:c us vs else (xs, ys) | _, _ -> (xs, ys) ;; @@ -238,7 +238,7 @@ let for_alli p = ;; let existsi p = not <.> for_alli (fun i x -> not (p i x));; -let mem ?(c = compare) x = exists (fun y -> c x y = 0);; +let mem ?(c = Stdlib.compare) x = exists (fun y -> c x y = 0);; (* Search Functions *) let filteri p = @@ -286,16 +286,16 @@ let rev_unzip xs = rev_unzip_with id xs;; let unzip xs = unzip_with id xs;; (* Assoctiation Lists *) -let assoc ?(c = compare) x = snd <.> find (fun (y,_) -> c x y = 0);; -let mem_assoc ?(c = compare) x = exists (fun (y,_) -> c x y = 0);; +let assoc ?(c = Stdlib.compare) x = snd <.> find (fun (y,_) -> c x y = 0);; +let mem_assoc ?(c = Stdlib.compare) x = exists (fun (y,_) -> c x y = 0);; -let rec remove_assoc ?(c = compare) x = function +let rec remove_assoc ?(c = Stdlib.compare) x = function | [] -> [] | (y, z) :: xs -> if c x y = 0 then xs else (y, z) :: remove_assoc ~c:c x xs ;; (* Lists as Sets *) -let union ?(c = compare) xs ys = +let union ?(c = Stdlib.compare) xs ys = let (xs,ys) = foldl (fun (xs,ys) x -> (x::xs,remove_all x ys)) ([],ys) xs in rev (rev_append ys xs) ;; @@ -319,27 +319,27 @@ let rev_times xs = flat_times (flip cons) [] xs;; let times xs = map_tl rev (rev_times xs);; let product xs = flat_product P.make xs;; let square xs = product xs xs;; -let diff ?(c = compare) xs ys = filter (fun x -> not (mem ~c:c x ys)) xs;; -let is_subset ?(c = compare) xs ys = for_all (flip (mem ~c:c) ys) xs;; -let is_supset ?(c = compare) = flip (is_subset ~c:c);; -let equal ?(c = compare) xs ys = is_subset ~c:c xs ys && is_subset ~c:c ys xs;; -let intersect ?(c = compare) xs ys = filter (flip (mem ~c:c) ys) xs;; +let diff ?(c = Stdlib.compare) xs ys = filter (fun x -> not (mem ~c:c x ys)) xs;; +let is_subset ?(c = Stdlib.compare) xs ys = for_all (flip (mem ~c:c) ys) xs;; +let is_supset ?(c = Stdlib.compare) = flip (is_subset ~c:c);; +let equal ?(c = Stdlib.compare) xs ys = is_subset ~c:c xs ys && is_subset ~c:c ys xs;; +let intersect ?(c = Stdlib.compare) xs ys = filter (flip (mem ~c:c) ys) xs;; -let is_proper_subset ?(c = compare) xs ys = +let is_proper_subset ?(c = Stdlib.compare) xs ys = is_subset ~c:c xs ys && not (is_subset ~c:c ys xs) ;; -let unique ?(c = compare) xs = +let unique ?(c = Stdlib.compare) xs = let mem = Set.mem ~c:c and add = Set.add ~c:c in let add (xs,s) x = if mem x s then (xs,s) else (x::xs,add x s) in rev (fst (foldl add ([],Set.empty) xs)) ;; -let sort_unique ?(c = compare) xs = +let sort_unique ?(c = Stdlib.compare) xs = let rec uniquefy = function | [] | [_] as lst -> lst | x :: y :: lst -> - if compare x y = 0 then uniquefy (y :: lst) + if c x y = 0 then uniquefy (y :: lst) else x :: uniquefy (y :: lst) in uniquefy (sort c xs) @@ -399,15 +399,15 @@ let rec implode f d = function (* Properties *) let is_empty xs = xs = [];; let is_singleton = function [_] -> true | _ -> false;; -let is_prefix ?(c = compare) xs ys = fst (remove_equal ~c:c xs ys) = [];; -let is_suffix ?(c = compare) xs ys = is_prefix ~c:c (rev xs) (rev ys);; +let is_prefix ?(c = Stdlib.compare) xs ys = fst (remove_equal ~c:c xs ys) = [];; +let is_suffix ?(c = Stdlib.compare) xs ys = is_prefix ~c:c (rev xs) (rev ys);; -let is_proper_prefix ?(c = compare) xs ys = +let is_proper_prefix ?(c = Stdlib.compare) xs ys = let (xs,ys) = remove_equal ~c:c xs ys in xs = [] && ys <> [] ;; -let is_proper_suffix ?(c = compare) xs ys = +let is_proper_suffix ?(c = Stdlib.compare) xs ys = is_proper_prefix ~c:c (rev xs) (rev ys) ;; diff --git a/src/util/src/prelude.ml b/src/util/src/prelude.ml index d7ea912..b431ee0 100644 --- a/src/util/src/prelude.ml +++ b/src/util/src/prelude.ml @@ -46,12 +46,12 @@ let swap x f = f x;; let read_channel ?(buff_size = 1024*1024) ch = let size = 4*1024 in let loop = ref true in - let buff = String.create size in + let buff = Bytes.create size in let res = Buffer.create buff_size in while !loop do let n = input ch buff 0 size in if n = 0 then loop := false - else Buffer.add_substring res buff 0 n + else Buffer.add_subbytes res buff 0 n done; Buffer.contents res ;; diff --git a/src/util/src/process.ml b/src/util/src/process.ml index 7bfd549..4a4cb91 100644 --- a/src/util/src/process.ml +++ b/src/util/src/process.ml @@ -32,7 +32,7 @@ let set_signals h = Sys.set_signal Sys.sigterm h; Sys.set_signal Sys.sigalrm h;; (* Parallel Evaluations *) let child t w f i = set_signals Sys.Signal_default; - ignore (Unix.write w "sync" 0 4); + ignore (Unix.write w (Bytes.of_string "sync") 0 4); let t = Option.fold (max 0.001 <.> flip (-.) (Unix.gettimeofday ())) 0.0 t in if t <= 0.0015 && t >= 0.0005 then exit 0; let status = {Unix.it_interval = 0.0; Unix.it_value = t} in diff --git a/src/util/src/stringx.ml b/src/util/src/stringx.ml index 2c0b290..919e7a7 100644 --- a/src/util/src/stringx.ml +++ b/src/util/src/stringx.ml @@ -25,30 +25,25 @@ include String;; (*** MODULE TYPES *************************************************************) module type STRING = sig - val blit : string -> int -> string -> int -> int -> unit - val capitalize : string -> string + val capitalize_ascii : string -> string val compare: string -> string -> int val concat : string -> string list -> string val contains : string -> char -> bool val contains_from : string -> int -> char -> bool - val copy : string -> string - val create : int -> string val escaped : string -> string - val fill : string -> int -> int -> char -> unit val get : string -> int -> char val index : string -> char -> int val index_from : string -> int -> char -> int val iter : (char -> unit) -> string -> unit val length : string -> int - val lowercase : string -> string + val lowercase_ascii : string -> string val make : int -> char -> string val rcontains_from : string -> int -> char -> bool val rindex : string -> char -> int val rindex_from : string -> int -> char -> int - val set : string -> int -> char -> unit val sub : string -> int -> int -> string - val uppercase : string -> string - val uncapitalize : string -> string + val uppercase_ascii : string -> string + val uncapitalize_ascii : string -> string end (*** FUNCTIONS ****************************************************************) diff --git a/src/util/src/util.mli b/src/util/src/util.mli index 653b4d4..fff3717 100644 --- a/src/util/src/util.mli +++ b/src/util/src/util.mli @@ -137,6 +137,7 @@ module Arg : sig | Tuple of spec list | Symbol of string list * (string -> unit) | Rest of (string -> unit) + | Rest_all of (string list -> unit) | Expand of (string -> string array) type usage_msg = string @@ -931,8 +932,6 @@ module Index : sig (** [compare s t] compares [s] and [t]. It must be guaranteed that [compare s t = 0] if [s] and [t] are equal, [compare s t < 0] if [s] is smaller than [t], and [compare s t > 0] if [s] is greater than [t]. *) - val copy : t -> t - (** [copy t] copies the value [t]. *) val fprintf : Format.formatter -> t -> unit (** [fprintf fmt t] prints [t] using the [OCaml] module [Format]. *) val hash : t -> int @@ -953,8 +952,6 @@ module Index : sig (** [compare s t] compares [s] and [t]. It must be guaranteed that [compare s t = 0] if [s] and [t] are equal, [compare s t < 0] if [s] is smaller than [t], and [compare s t > 0] if [s] is greater than [t]. *) - val copy : t -> t - (** [copy t] copies the value [t]. *) val fprintf : Format.formatter -> t -> unit (** [fprintf fmt t] prints [t] using the [OCaml] module [Format]. *) val hash : t -> int @@ -1353,8 +1350,6 @@ module Isomorphism : sig (** [compare s t] compares [s] and [t]. It must be guaranteed that [compare s t = 0] if [s] and [t] are equal, [compare s t < 0] if [s] is smaller than [t], and [compare s t > 0] if [s] is greater than [t]. *) - val copy : t -> t - (** [copy t] copies the value [t]. *) val fprintf : Format.formatter -> t -> unit (** [fprintf fmt t] prints [t] using the [OCaml] module [Format]. *) val hash : t -> int @@ -3105,30 +3100,25 @@ module String : sig (*** MODULE TYPES ************************************************************) module type STRING = sig - val blit : t -> int -> t -> int -> int -> unit - val capitalize : t -> t + val capitalize_ascii : t -> t val compare: t -> t -> int val concat : t -> t list -> t val contains : t -> char -> bool val contains_from : t -> int -> char -> bool - val copy : t -> t - val create : int -> t val escaped : t -> t - val fill : t -> int -> int -> char -> unit val get : t -> int -> char val index : t -> char -> int val index_from : t -> int -> char -> int val iter : (char -> unit) -> t -> unit val length : t -> int - val lowercase : t -> t + val lowercase_ascii : t -> t val make : int -> char -> t val rcontains_from : t -> int -> char -> bool val rindex : t -> char -> int val rindex_from : t -> int -> char -> int - val set : t -> int -> char -> unit val sub : t -> int -> int -> t - val uppercase : t -> t - val uncapitalize : t -> t + val uppercase_ascii : t -> t + val uncapitalize_ascii : t -> t end (** This module type contains all standard [OCaml] functions provided by the module [String]. *) diff --git a/src/util/src/xsltproc.ml b/src/util/src/xsltproc.ml index 68fa4c2..cf4452d 100644 --- a/src/util/src/xsltproc.ml +++ b/src/util/src/xsltproc.ml @@ -34,12 +34,12 @@ let write ch s = output_string ch s;flush ch;; let read ch = let loop = ref true in - let buff = String.create buff_size in + let buff = Bytes.create buff_size in let res = Buffer.create(1024*1024) in while !loop do let n = input ch buff 0 buff_size in if n = 0 then loop := false - else Buffer.add_substring res buff 0 n + else Buffer.add_subbytes res buff 0 n done; Buffer.contents res ;; From aed5695259ec2565fd31626b1049013063d686ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Sch=C3=B6pf?= Date: Mon, 17 Oct 2022 11:19:16 +0200 Subject: [PATCH 2/3] remove superfluous build file --- src/tool/main.o | Bin 3304 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/tool/main.o diff --git a/src/tool/main.o b/src/tool/main.o deleted file mode 100644 index 7e249db5be7533b2c257f47324f0768e076a3b4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3304 zcmbtW&2Jl35TEt7t^>*9q%Eox5Q{_s0bQpQl^`N;N|PALP}ByA1JZhJZ|qQe*V^5H zgM=FB1(XX1Bo5@z8wXBY5Q0l3KtfzVaNwV)1l*87GBa;y)|;md92jNaoB7S>n|Zs= zjkV@_$uL03fahQ;2@23ZG3D!ut;4-=8X7n6R2uuo32E%(-mGu5`TOUcU!I278urgxwQBByE9F%fhGP4KO6H#wLEVu7^byoowZJ4$t4F&>-kv% zwKz*GS9u>F{NiEUHpVS?Z~d@$Kfv4wUYDA)_SO2~(67A_23}l?{81R!I!QD*7r#Z_ zu~)CzPdXQ#fsQvEP={UD50YpXbDWa=Z(jvtTs0PFPgFj{qHs>?A@x~WE?d=>Rav#F zR)xfWqhs*Lq)2aO-J5FD^OvUpbLsiZAbrRim~eMq%y<*#GCt3kFq0QE-Ykgz0BWlR zm;5P(%e1l(@FLsmO}Tmm?jydC>x1eoVmrzn7mfB&F6zNY3OCZ(Sgu;CCrI;hd3kLlPKN$!bSeTa}s}?fTLI%F*xlwMmZ$G>BPzTi{J!d;yd^~I~ONj z=Q_*1V8)$zr0VBpK|E=&oidy{|WITqFVEG5e32)@*wi!Z)>>pPxi~G*JF~) z@0y>8y6q+^=>0x)w^0`VC2{0k&Mz?iqocBn@-Rynr- RR8x`vEw2ANG2~tM{|CD1A|U_( From ca916135425bd915e918889a38f9ffac5d560fdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Sch=C3=B6pf?= Date: Fri, 2 Dec 2022 13:36:25 +0100 Subject: [PATCH 3/3] typos in documentation --- src/ctrs/src/ctrs.mli | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ctrs/src/ctrs.mli b/src/ctrs/src/ctrs.mli index e588fe3..3b4ebdd 100644 --- a/src/ctrs/src/ctrs.mli +++ b/src/ctrs/src/ctrs.mli @@ -252,7 +252,7 @@ module type SORTDECLARATION = sig (** [to_string x] returns a string that represents [x]. *) end -(** This module deals with sort declarations (combining input- and output sorts. *) +(** This module deals with sort declarations (combining input- and output sorts). *) module Sortdeclaration : SORTDECLARATION with type sort = Sort.t (** {2 Module Specialdeclaration} *) @@ -341,7 +341,7 @@ module type SPECIALDECLARATION = sig (** [to_string x] returns a string that represents [x]. *) end -(** This module deals with polymorphic declarations, and declaratios with +(** This module deals with polymorphic declarations, and declarations with variable arity. Symbols with such a declaration should always be used in a combination with their currently active sort declaration. *) module Specialdeclaration : SPECIALDECLARATION