aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-11-06Cosmetic: no more whitespace at end of lines in extraction filesletouzey
(diff says it's a big commit, whereas diff -w says it's an empty one ;-) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11547 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-11-06Correction d'un petit bug en cas de redéfintion par l'utilisateur de ↵notin
variables utilisées dans PP git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11546 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-11-05Minor fixes:msozeau
- Rework definition of the type of respecful functions in Morphisms.v - Unfold [flip] in "Add Morphism" tactic (suggested by N. Tabareau) - Add a "coqvariableref" command in coqdoc. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11545 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-11-05Port [rewrite] tactics to open terms. Currently no check that evarsmsozeau
introduced by the lemma remain in the subgoals (i.e. it's really [erewrite]). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11544 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-11-05Fix in the unification algorithm using evars: unify types of evarmsozeau
instances and the corresponding evar's type if it contains existentials to avoid dangling evars. No noticeable performance impact (at least on the stdlib). Subsumes (and fixes) the (broken) fix in unification.ml that was previously patched by M. Puech. Improve error messages related to existential variables and type classes. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11543 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-11-05Move Record desugaring to constrintern and add ability to use notationsmsozeau
for record fields (using "someproj : sometype where not := constr" syntax). Only one notation allowed currently and no redeclaration after the record declaration either (will be done for typeclasses). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11542 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-11-05Suite commit 11539 sur notation Record dans (Co)Inductive (MAJherbelin
contrib/interface avec Arnaud) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11541 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-11-05Petit bug dans le commit précédent.aspiwack
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11540 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-11-05Nouvelle syntaxe pour écrire des records (co)inductifs :aspiwack
CoInductive stream (A:Type) := { hd : A ; tl : stream A }. Inductive nelist (A:Type) := { hd : A ; tl : option (nelist A) }. L'affichage n'est pas encore poli. Il reste à choisir l'exact destin de la syntaxe qui était apparue dans la 8.2beta pour les records coinductifs (qui consistait à utiliser "Record" au lieu de "CoInductive" comme maintenant). VernacRecord et VernacInductive semblent maintenant faire doublon, il doit y avoir moyen de les fusionner. Les records mutuellement inductifs restent aussi à faire. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11539 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-11-05Better extraction renaming phase (fix #1914 plus other non-reported bugs)letouzey
Ocaml : - Fix the Coq__1 that was appearing in a .mli for some functor app in the corresponding .ml (virtual printing of the interface in the .ml + a pp_modname delayed in MTfunsig) - Cleanup in MTwith parts - Better handling of subst for MTsig - Correct push/pop_visible in pp_struct/pp_signature Common : - Merge most of pp_global and pp_module - Clarify the use of tables : remove some of them, attach many others to their corresponding function. - The "visible" table now groups mps, their content, and some subst (for the inside of MTsig) - Cleanup of tables is done via a registration mecanism - No more "initial" create_renamings, instead some fully on-the-fly renaming (thanks to the "Pre" phase) - opened libaries are computed between "Pre" and "Impl" phases - for simplicity, static_clash aren't computed statically anymore (cost?) Extract_env: - A "Pre" phase not only for Ocaml - Extraction Library is in fact also Recursive (for getting a right mpfiles_content) ... but only last item is printed to a real file instead of /dev/null Modutil: No more struct_get_references_* Util : fix the evaluation order of prlist_strict git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11538 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-11-04Adaptation to ocaml 3.11 new semantics of String.index_from (see bug #1974)herbelin
Grant wish #1988 ("fun" forces reduction in "refine" if needed) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11536 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-11-042 petites améliorations de coq_makefile (traitement des .ml4 + cibles ↵notin
génériques dans -custom git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11535 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-11-02Fix CAMLHLIB (due to r11358) (Closes: #1986)glondu
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11532 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-11-02test-suite/ideal-features/{apply.v -> eapply_evar.v}glondu
...to avoid trouble on case-insensitive filesystems (Closes: #1987) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11531 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-31Ajout d'une option -raw pour Coqdoc (sortie en texte brut)notin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11529 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-31allowed patternidents starting with an '_'amahboub
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11526 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-30The lexer is changer to break former PATTERNIDENT into two tokens.amahboub
This allows more flexibility in the other uses of the question mark and in particular suppresses the hack for rewriter in g_tactic.ml4 git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11524 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-29Document native "Declare ML Module"glondu
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11523 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-29Remove calls to Dynlink.add_{interfaces,available_units} altogetherglondu
According to OCaml's Changes, all modules loaded so far (and statically linked) are available to dynamically loaded modules (since 3.07). Therefore, these calls seem irrelevant now. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11522 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-29Adaptation du vieil appel à "apply" sur lemme de symétrie au cas oùherbelin
une réduction a eu lieu (insertion d'un "change" pour que "apply" n'échoue pas). À faire : nettoyer la construction par tactique de la preuve de symétrie de a=b -> b=a (quand le lemme de symétrie n'existe pas) pour quelle ne lance pas une conversion potentiellement longue entre a et b (le cas est arrivé dans CatsInZFC/notation.v !) [HH + MS] git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11521 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-29Oups...notin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11520 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-29Dépendance des cibles de la documentation envers les cibles de Coqnotin
(devrait résoudre les problèmes avec 'make -j world') git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11519 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-28Native "Declare ML Module" when possibleglondu
Dynlink.add_{interfaces,available_units} are deprecated and not implemented natively. Currently, native "Declare ML Module" doesn't work because of this. Dynlink-related should be switched to the API introduced in OCaml 3.07. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11518 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-28petite modif du commit 11513.soubiran
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11517 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-2811511 continued (bug in set.out + incohérence dans "Theorem with"herbelin
entre le calcul des arguments récursifs possibles -- bien que bidon en attendant mieux -- et ce la tactique fix attend -- le premier expanse les produits au maximum le second non) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11515 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-28Correction bug 1979.soubiran
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11513 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-27- Fixed many "Theorem with" bugs.herbelin
- Fixed doc of assert as. - Doc of apply in + update credits. - Nettoyage partiel de Even.v en utilisant "Theorem with". - Added check that name is not in use for "generalize as". git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11511 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-26Correct enormous bug in interpretation of generalized binders: it simplymsozeau
dropped all bindings appearing before it :) Bug found by Marc Lasson. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11510 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-26Fixes and refinements regarding occurrence selection:herbelin
- make the modifiers "value of" and "type of" for "set" working (it was not!), - clear unselected hypotheses in the "in" clause of "induction/destruct" when the destructed term is a variable (experimental), - support for generalization of hypotheses in the induction hypotheses using the "in" clause of "induction" (e.g. "induction n in m, H" will generalize over m -- would it be better to have an explicit "over"/"generalizing" clause ?). Added clause "as" to "apply in". git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11509 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-26adding an option Function_raw_tcc to Functionjforest
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11508 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-26Stop using a coqdocdoc env which prevents use of environments insidemsozeau
comments that go across code and doc (e.g. for beamer frames), it was unused anyway. Add "do" and "repeat" as tactic identifiers. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11507 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-26- MAJ svn:ignore pour bin/coq-parser (anciennement bin/parser)herbelin
- Correction test des scopes pour les notations récursives (suite commit 11489) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11506 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-26Backtrack sur commit 11467 (tentative d'optimisation meta_instance quiherbelin
s'est avéré ralentir la compilation des user-contribs au final, sans compter aussi le bug 1980 apparemment introduit par ce commit). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11505 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-25More debugging of handling of open constrs with typeclasses:msozeau
avoid trying to resolve classes early in open constr arguments for Ltac, the tactics themselves should do whatever's appropriate with the constraints. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11503 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-25Fix for bug #1981, correct the mismatch between the meta types used inmsozeau
clenv and the ones found in the refiner. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11502 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-24Raise informative errors instead of Failures or anomalies in case a metamsozeau
type contains a meta as this is currently unsupported in the refiner. Fixes bugs #1980 and #1981. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11501 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-24Fix doc of apply in (see coq-club message 26 September 2008)herbelin
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11499 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-23Forgot one file which had other local modifications...msozeau
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11498 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-23Fix bug #1977 by allowing the [apply] variants to take an [open_constr]msozeau
instead of a completely resolved [constr] as input. The propagation of the evars associated to the lemma is only allowed when the evar flag is on (i.e. for [eapply]), otherwise they should be resolved by the end of the application. Should be completely backwards compatible... git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11497 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-23Open notation for declaring record instances.msozeau
It solves feature request 1852, makes me and Arnaud happy and will permit to factor some more code in typeclasses. - Records are introduced using the syntax "{| x := t; y := foo |}" and "with" clauses are currently parsed but not yet supported in the elaboration. You are invited to suggest other syntaxes :) - Missing fields are turned into holes, extra fields cause an error message. The current implementation finds the type of the record at pretyping time, from the typing constraint alone (and just expects an inductive with one constructor). It is then impossible to use scope information to parse the bodies: that may be wrong. The other solution I see is using the fields to detect the type earlier, before internalisation of the bodies, but then we get in name clash hell. - In funind/contrib/interface I mostly put [assert false] everywhere to avoid warnings. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11496 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-23Generalized implementation of generalization.msozeau
- New constr_expr construct [CGeneralization of loc * binding_kind * abstraction_kind option * constr_expr] to generalize the free vars of the [constr_expr], binding these using [binding_kind] and making a lambda or a pi (or deciding from the scope) using [abstraction_kind option] (abstraction_kind = AbsLambda | AbsPi) - Concrete syntax "`( a = 0 )" for explicit binding of [a] and "`{ ... }" for implicit bindings (both "..(" and "_(" seem much more difficult to implement). Subject to discussion! A few examples added in a test-suite file. - Also add missing syntax for implicit/explicit combinations for _binders_: "{( )}" means implicit for the generalized (outer) vars, explicit for the (inner) variable itself. Subject to discussion as well :) - Factor much typeclass instance declaration code. We now just have to force generalization of the term after the : in instance declarations. One more step to using Instance for records. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11495 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-22Fix bugs #1975 and #1976.msozeau
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11494 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-22Fix for bug #1973 provided by Brian Campbell.msozeau
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11492 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-22Various coqdoc improvements:msozeau
- New "color" option to the coqdoc latex style file to typeset using the xcolor package, still following the McBride convention. - Work on proper indentation and spacing of output code and allow users to customise indentation (setting a base indentation length) and line skips for empty lines of code. - Also add new environments to distinguish code and documentation, doing nothing right now. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11491 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-22A much better implementation of implicit generalization:msozeau
- Do it after internalisation (esp. after notation expansion) - Generalize it to any constr, not just typeclasses - Prepare for having settings on the implicit status of generalized variables (currently only impl,impl and expl,expl are supported). - Simplified implementation! (Still some refactoring needed in typeclasses parsing code). This patch contains a fix for bug #1964 as well. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11490 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-22Affichage des notations récursives:herbelin
- Prise en compte des notations applicatives - Remplacement du codage des arguments liste des notations récursives sous forme de terme par une représentation directe (permet notamment de résoudre un problème de stack overflow de la fonction d'affichage) + Correction bug affichage Lemma dans ppvernac.ml + Divers util.ml git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11489 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-21More OCaml-3.11-friendly configure scriptglondu
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11487 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-21warning message when a qualid to extract can be both a module or a cstletouzey
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11485 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-21duplicated open of Ppconstrletouzey
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11484 85f007b7-540e-0410-9357-904b9bb8a0f7
2008-10-21Correction bug #1969.soubiran
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11483 85f007b7-540e-0410-9357-904b9bb8a0f7