Optimizing Vars.replace_vars

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16916 85f007b7-540e-0410-9357-904b9bb8a0f7
Removing List.mem in Namegen. We may choose a better fitted datastructure than lists on day...

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16917 85f007b7-540e-0410-9357-904b9bb8a0f7
Small optimizations in unification.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16918 85f007b7-540e-0410-9357-904b9bb8a0f7
Tacintern: avoid a match (fst (List.hd ...))

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16919 85f007b7-540e-0410-9357-904b9bb8a0f7
cList: set-as-list functions are now with an explicit comparison

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16920 85f007b7-540e-0410-9357-904b9bb8a0f7
cList.index is now cList.index_f, same for index0

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16921 85f007b7-540e-0410-9357-904b9bb8a0f7
CList.prefix_of and CList.drop_prefix with a parametric equality

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16922 85f007b7-540e-0410-9357-904b9bb8a0f7
CList.factorize_left with a parametric equality

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16923 85f007b7-540e-0410-9357-904b9bb8a0f7
cList: a few alternative to hashtbl-based uniquize, distinct, subset

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16924 85f007b7-540e-0410-9357-904b9bb8a0f7
Turn many List.assoc into List.assoc_f

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16925 85f007b7-540e-0410-9357-904b9bb8a0f7
Get rid of polymorphic equality in "checker/subtyping.ml".

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16926 85f007b7-540e-0410-9357-904b9bb8a0f7
Get rid of polymorphic comparison in "plugins/btauto/refl_btauto.ml".

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16927 85f007b7-540e-0410-9357-904b9bb8a0f7
CoqIDE: fix coloring bug when jumping back to the first phrase

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16928 85f007b7-540e-0410-9357-904b9bb8a0f7
Ephemeron: add a function to run a collection cycle

This is necessary if one wants to check how much memory
Coq uses after a collection.  The idiom is:
  Gc.full_major (); Ephemeron.clear (); Gc.full_major ();
since the first collection may just put collected ephemerons
in a to_be_cleared list that is processed by Ephemeron.get/create/clear.
Processing the list may create new garbage (the content of the ephemeron),
Hence a new Gc cycle has to be run afterwards.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16929 85f007b7-540e-0410-9357-904b9bb8a0f7
Oups, repair the compilation (micromega + Morphism_prop)

 It seems I forgot to fully recompile after my last bunch of
 syntactic changes about List.assoc_f, that weren't so syntactic
 after all, sorry :

 - Util isn't used in micromega, hence no List.assoc_f there
 - There is something wrong in my modifications of Notation_ops
   that breaks the compilation of Morphism_prop. For the moment
   I don't see what, so I revert all the modifications of this file

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16930 85f007b7-540e-0410-9357-904b9bb8a0f7
Fix the semantic of the new List.remove_assoc_f

 Unlike Ocaml's stdlib List.remove_assoc, I was raising Not_found
 when the key to remove wasn't there...

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16931 85f007b7-540e-0410-9357-904b9bb8a0f7
Restore my version of notation_ops.ml now that List.remove_assoc_f is fixed

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16932 85f007b7-540e-0410-9357-904b9bb8a0f7
Specializing hash functions for widely used types.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16933 85f007b7-540e-0410-9357-904b9bb8a0f7