From 96f8d358c7d3c9a08ff2006f42716bc64937dad2 Mon Sep 17 00:00:00 2001 From: Pierre-Marie Pédrot Date: Mon, 3 Mar 2014 14:20:42 +0100 Subject: Fixing pervasive equalities. In particular, I removed the code that deleted duplicates in kernel side effects. They were chosen according to an equality that was quite irrelevant, and as expected this patch did not break the test-suite. --- kernel/declareops.ml | 2 +- kernel/retroknowledge.ml | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'kernel') diff --git a/kernel/declareops.ml b/kernel/declareops.ml index 7c852a7556..1b67de0eaa 100644 --- a/kernel/declareops.ml +++ b/kernel/declareops.ml @@ -248,7 +248,7 @@ type side_effects = side_effect list let no_seff = ([] : side_effects) let iter_side_effects f l = List.iter f (List.rev l) let fold_side_effects f a l = List.fold_left f a l -let uniquize_side_effects l = List.uniquize l +let uniquize_side_effects l = l (** FIXME: there is something dubious here *) let union_side_effects l1 l2 = l1 @ l2 let flatten_side_effects l = List.flatten l let side_effects_of_list l = l diff --git a/kernel/retroknowledge.ml b/kernel/retroknowledge.ml index 4dc01f890f..0c03e3299f 100644 --- a/kernel/retroknowledge.ml +++ b/kernel/retroknowledge.ml @@ -100,8 +100,14 @@ type proactive = entry Proactive.t a finite type describing the fields to the field of proactive retroknowledge (and then to make as many functions as needed in environ.ml) *) -module Reactive = - Map.Make (struct type t = entry let compare = compare end) +module EntryOrd = +struct + type t = entry + let make (e : entry) : constr = Obj.magic e (** WARNING: maybe to be updated. *) + let compare c1 c2 = Constr.compare (make c1) (make c2) +end + +module Reactive = Map.Make (EntryOrd) type reactive_end = {(*information required by the compiler of the VM *) vm_compiling : -- cgit v1.2.3