aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Sozeau2014-06-23 18:30:30 +0200
committerMatthieu Sozeau2014-06-23 18:31:17 +0200
commit550a407928063c8e93af808408a61a238fa5039a (patch)
treee54a3875b5ed7ce190c228ad8ee191166e2daf9b
parent1f11c1f1366b4c82e2e596b3cc97ee0052189741 (diff)
Add some compatibility notes on the changes to [change] and unification in general.
-rw-r--r--CHANGES3
-rw-r--r--COMPATIBILITY21
2 files changed, 24 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index 1847df58e6..8a3cb79d8d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -90,6 +90,9 @@ Tactics
- "change ... in ..." and "simpl ... in ..." now consider nested
occurrences (possible source of incompatibilities since this alters
the numbering of occurrences).
+- The "change p with c" tactic semantics changed, now typechecking
+ "c" at each matching occurrence "t" of the pattern "p", and
+ converting "t" with "c".
- Now "appcontext" and "context" behave the same. The old buggy behaviour of
"context" can be retrieved at parse time by setting the
"Tactic Compat Context" flag. (possible source of incompatibilities).
diff --git a/COMPATIBILITY b/COMPATIBILITY
index 3c9a94fae2..33bb1d30ee 100644
--- a/COMPATIBILITY
+++ b/COMPATIBILITY
@@ -1,3 +1,24 @@
+Potential sources of incompatibilities between Coq V8.4 and V8.5
+----------------------------------------------------------------
+
+Universe Polymorphism.
+
+- Refinement, unification and tactics are now aware of universes,
+ resulting in more localized errors. Universe inconsistencies
+ should no more get raised at Qed time but during the proof.
+ Unification *always* produces well-typed substitutions, hence
+ some rare cases of unifications that succeeded while producing
+ ill-typed terms before will now fail.
+
+- The [change p with c] tactic semantics changed, now typechecking
+ [c] at each matching occurrence [t] of the pattern [p], and
+ converting [t] with [c].
+
+- Template polymorphic inductive types: the partial application
+ of a template polymorphic type (e.g. list) is not polymorphic.
+ An explicit parameter application (e.g [fun A => list A]) or
+ [apply (list _)] will result in a polymorphic instance.
+
Potential sources of incompatibilities between Coq V8.3 and V8.4
----------------------------------------------------------------