| Age | Commit message (Collapse) | Author |
|
casts of ints to evars.
- 2 in Evarutil and Goal which are really needed, even though the Goal
one could (and should) be removed;
- 2 in G_xml and Detyping that are there for completeness sake, but
that might be made anomalies altogether;
- 1 in Newring which is quite dubious at best, and should be fixed.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16786 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
Earlier, the elements of constr arrays were hash-consed, but not the
array itself. This helps a bit when the same (f a1 ... an) is manipulated
a lot : -20% in the size of opaque terms in Integral_domain.vo and Nsatz.vo
Similarly it's interesting to hash-cons sub-lists for dirpaths,
since in Coq.A.B and Coq.A.C we could share Coq.A.
With this patch, the hash-consing of constr seems quasi-optimal:
Pierre-Marie's marshal compactor is unable to shrink opaque tables by
more than 2%, and this difference seems to be due to untyped compaction
(for the compactor Rel 1 = Prop Pos).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16723 85f007b7-540e-0410-9357-904b9bb8a0f7
|
|
1. sorts.ml: A small file utility for sorts;
2. constr.ml: Really low-level terms, essentially kind_of_constr, smart
constructor and basic operators;
3. vars.ml: Everything related to term variables, that is, occurences
and substitution;
4. context.ml: Rel/Named context and all that;
5. term.ml: derived utility operations on terms; also includes constr.ml
up to some renaming, and acts as a compatibility layer, to be deprecated.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16462 85f007b7-540e-0410-9357-904b9bb8a0f7
|