aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/cArray.mli
diff options
context:
space:
mode:
authorGravatar Arnaud Spiwack <arnaud@spiwack.net>2015-02-19 16:41:51 +0100
committerGravatar Arnaud Spiwack <arnaud@spiwack.net>2015-02-24 18:50:33 +0100
commitfc6d0fb650f57a764af6fe9be44677a69be11980 (patch)
tree1842169af1723d2abe3eeaf3d2bd429bfe0f3638 /lib/cArray.mli
parent2f41d8e976621b907925546a192e90e60f0e580b (diff)
New function [Constr.equal_with] to compare terms up to variants of [kind_of_term].
To be able to write equality up to evar instantiation instantiation. Generalises the main function of [eq] constr over the variant of [kind_of_term] it uses. It prevents some optimisation of [Array.equal] where two physically equal arrays are considered (less or) equal. But it does not seem to have appreciable effects on efficiency.
Diffstat (limited to 'lib/cArray.mli')
-rw-r--r--lib/cArray.mli5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/cArray.mli b/lib/cArray.mli
index 39c35e2d5..7e5c93b5d 100644
--- a/lib/cArray.mli
+++ b/lib/cArray.mli
@@ -17,6 +17,11 @@ sig
val equal : ('a -> 'a -> bool) -> 'a array -> 'a array -> bool
(** Lift equality to array type. *)
+ val equal_norefl : ('a -> 'a -> bool) -> 'a array -> 'a array -> bool
+ (** Like {!equal} but does not assume that equality is reflexive: no
+ optimisation is performed if both arrays are physically the
+ same. *)
+
val is_empty : 'a array -> bool
(** True whenever the array is empty. *)