Stefano Zacchiroli [Tue, 20 Sep 2005 15:27:04 +0000 (15:27 +0000)]
- bugfix: eta abstractions ignores attributed node while counting lambdas
- permit pattern matching on attributed asts (since attributes are transparent to pattern matching)
- wrapped with assert false some unsafe function invocations (e.g. List.map2)
- removed reset_href (no longer needed)
Stefano Zacchiroli [Tue, 20 Sep 2005 15:23:15 +0000 (15:23 +0000)]
more refere to bindings in env type definition
Enrico Tassi [Tue, 20 Sep 2005 14:16:34 +0000 (14:16 +0000)]
fixed matitadep: now it should consider ALL depndencies
Enrico Tassi [Tue, 20 Sep 2005 14:15:09 +0000 (14:15 +0000)]
added a minimal parser to extract informations relevant to dependencies calculation
Claudio Sacerdoti Coen [Tue, 20 Sep 2005 11:17:26 +0000 (11:17 +0000)]
...
Enrico Tassi [Tue, 20 Sep 2005 10:51:26 +0000 (10:51 +0000)]
all initialization code is now in the new matitaInit.ml module.
Enrico Tassi [Tue, 20 Sep 2005 09:01:56 +0000 (09:01 +0000)]
matitadep now parses notation.
Enrico Tassi [Tue, 20 Sep 2005 08:07:13 +0000 (08:07 +0000)]
development windows now avoids doing an anction selecting no developments
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 16:25:16 +0000 (16:25 +0000)]
* Obsolete debugging comments removed
* Debugging comments by Andrea marked with "Andrea:"
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 16:02:07 +0000 (16:02 +0000)]
Notation for "ex" introduced. It is the same as the notation for forall,
but it uses \exists.
NOTE: there is a bug now in cic_notation. The notation for ex is parsed, but
it is not pretty-printed correctly!
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 15:34:34 +0000 (15:34 +0000)]
...
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 15:28:59 +0000 (15:28 +0000)]
More profiling code.
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 15:06:49 +0000 (15:06 +0000)]
Great speed-up in alias_diff (about 3x).
NOTE: alias_diff is still quite slow (e.g. 2.4s in the processing of
factorization.ma). This function really deserves to be got rid of.
(Moreover, this is possible and not that difficult)
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 14:20:17 +0000 (14:20 +0000)]
A bit of profiling functions added here and there.
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 14:02:25 +0000 (14:02 +0000)]
Spurious interpretation removed.
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 14:02:24 +0000 (14:02 +0000)]
Profiling disabled.
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 14:00:08 +0000 (14:00 +0000)]
...
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 13:51:29 +0000 (13:51 +0000)]
This commit (partially) removes a big source of inefficiency (at least for
the select function and the rewrite tactic): CicUnification.UnificationFailure
exceptions were enriched producing (in a very expensive way) a nice error
message. However, the expensive error message is useful only when it must be
shown to the user. Very often this is not the case. Thus I am now postponing
the production of the error message, changing the type of the exception.
NOTE: this kind of improvement can be applied everywhere in the code!
At least it should be applied to functions that can normally fail (e.g.
unification, refinement, convertibility, type checking, etc.)
Stefano Zacchiroli [Mon, 19 Sep 2005 13:38:05 +0000 (13:38 +0000)]
added list.ma
Stefano Zacchiroli [Mon, 19 Sep 2005 12:42:27 +0000 (12:42 +0000)]
- avoid catching top level exceptions when the relevant setting in the registry is set
- removed some ancient debugging prints
Stefano Zacchiroli [Mon, 19 Sep 2005 12:41:43 +0000 (12:41 +0000)]
splitted command line arguments among debugging and non-debugging so that when BuildTimeConf.debug is false the -debug flag is not available
Stefano Zacchiroli [Mon, 19 Sep 2005 12:41:02 +0000 (12:41 +0000)]
- added support for -debug, which avoid catching top level exceptions (still useless until we find a way to let the program die on uncaught exceptions raised by gtk callbacks)
- enable whelp syntax on command line
- uses Arg for command line parsing
Stefano Zacchiroli [Mon, 19 Sep 2005 12:39:28 +0000 (12:39 +0000)]
- bugfix: when backtracking restore the appropriate matched terms instead of keeping the current ones
- changed column order while matching constructors, this should speed up the matching since often application head discriminate if a row can be applied or not
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 09:41:19 +0000 (09:41 +0000)]
Removed final question marks from {apply|elim|rewrite}s.
(This used to change the goals order, but it has now been fixed by Gares)
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 09:29:17 +0000 (09:29 +0000)]
Some code that used to avoid a fixed bug removed.
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 09:26:19 +0000 (09:26 +0000)]
...
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 09:20:00 +0000 (09:20 +0000)]
.ma inclusions corrected/minimized
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 09:05:53 +0000 (09:05 +0000)]
Profiling code commented out.
Claudio Sacerdoti Coen [Mon, 19 Sep 2005 09:04:14 +0000 (09:04 +0000)]
CicUtil.profile made even more polymorphic.
Enrico Tassi [Fri, 16 Sep 2005 16:15:02 +0000 (16:15 +0000)]
added a function to reorder the metasenv.
Claudio Sacerdoti Coen [Fri, 16 Sep 2005 13:07:36 +0000 (13:07 +0000)]
...
Claudio Sacerdoti Coen [Fri, 16 Sep 2005 13:04:56 +0000 (13:04 +0000)]
...
Stefano Zacchiroli [Fri, 16 Sep 2005 12:13:31 +0000 (12:13 +0000)]
added notation for: nleq, ngeq, nless, and ngtr
Stefano Zacchiroli [Fri, 16 Sep 2005 11:56:54 +0000 (11:56 +0000)]
added notation for nleq, nlgt, ...
Stefano Zacchiroli [Fri, 16 Sep 2005 11:50:21 +0000 (11:50 +0000)]
added entites/overrides for leq, geq, nleq, ngeq, to
Stefano Zacchiroli [Fri, 16 Sep 2005 11:49:24 +0000 (11:49 +0000)]
re-generated
Stefano Zacchiroli [Fri, 16 Sep 2005 11:49:07 +0000 (11:49 +0000)]
uses Hashtbl.replace instead of Hashtbl.add so that:
1) extra-entities.xml could be used to override undesired bindings
2) only used mapping are kept in memory at run-time
Claudio Sacerdoti Coen [Thu, 15 Sep 2005 17:40:32 +0000 (17:40 +0000)]
Yet another implementation of the single aliases / multi aliases idea.
The new implementation is much simpler: single aliases are used everywhere
in the disambiguation phase; however, when a term needs to be looked for in
the library, it can be looked in a user-provided multi aliases environment instead.
NOTE: the new implementation fixes a bug of the previous implementation: the
most recent alias in the multi-alias set was printed last in the .moo files,
changing the performances of the system.
Claudio Sacerdoti Coen [Thu, 15 Sep 2005 17:39:01 +0000 (17:39 +0000)]
"bool.ma" is now always included before "logic.ma", in order to speed up
parsing.
Claudio Sacerdoti Coen [Thu, 15 Sep 2005 17:21:07 +0000 (17:21 +0000)]
Yet another implementation of the single aliases / multi aliases idea.
The new implementation is much simpler: single aliases are used everywhere
in the disambiguation phase; however, when a term needs to be looked for in
the library, it can be looked in a user-provided multi aliases environment
instead.
NOTE: the new implementation fixes a bug of the previous implementation: the
most recent alias in the multi-alias set was printed last in the .moo files,
changing the performances of the system.
Claudio Sacerdoti Coen [Thu, 15 Sep 2005 12:37:45 +0000 (12:37 +0000)]
...
Stefano Zacchiroli [Thu, 15 Sep 2005 12:13:07 +0000 (12:13 +0000)]
improved discriminate test: check if it works on inductive types with left parameters
Stefano Zacchiroli [Thu, 15 Sep 2005 12:12:30 +0000 (12:12 +0000)]
bugfix in discriminate: now works also with inductive types with left parameters
discriminate code has also been re-engineered and re-formatted
Stefano Zacchiroli [Thu, 15 Sep 2005 09:38:00 +0000 (09:38 +0000)]
added \neq notation
Stefano Zacchiroli [Thu, 15 Sep 2005 09:37:38 +0000 (09:37 +0000)]
bugfix: save "~" backup together with the non-~ version instead of in the current dir
Stefano Zacchiroli [Thu, 15 Sep 2005 09:26:45 +0000 (09:26 +0000)]
added -debug flag which avoid catching top-level exception (usefule for stack backtrace)
Stefano Zacchiroli [Thu, 15 Sep 2005 09:17:50 +0000 (09:17 +0000)]
- changed command line interface of cicbrowser so that everything which could be written in the "URL" bar can be provided on the cmdline as well (even without double-quoting)
- ported to new ppmetasenv (swapped arguments)
Stefano Zacchiroli [Thu, 15 Sep 2005 09:16:26 +0000 (09:16 +0000)]
uniformed ppmetasenv to other pp* methods: substs are now passed _before_ the metasenv
Stefano Zacchiroli [Thu, 15 Sep 2005 09:15:29 +0000 (09:15 +0000)]
moved matita logo in the right place
Stefano Zacchiroli [Thu, 15 Sep 2005 09:12:59 +0000 (09:12 +0000)]
bugfix: default "false" used to set the _true_ uri ...
Stefano Zacchiroli [Wed, 14 Sep 2005 16:06:14 +0000 (16:06 +0000)]
fixed a finalization issue for connections closed twice
thanks to Erik Stroke for the patch
Enrico Tassi [Wed, 14 Sep 2005 13:52:37 +0000 (13:52 +0000)]
bugfixes:
1) ask for saving/mooing only when the user has choosen a file to load
2) opening a file doesn't call goto_top (removing all xml, even if the moo has
been generated). This fix should enforce the invariant that a moo exists only
if the corrsponding xml objects do.
3) the switch_page callback is inhibited before removing pages in
sequentViewers#reset
Stefano Zacchiroli [Wed, 14 Sep 2005 08:55:16 +0000 (08:55 +0000)]
done some items
Stefano Zacchiroli [Wed, 14 Sep 2005 08:45:30 +0000 (08:45 +0000)]
added hyperlinks on case pattern heads and outtype
Stefano Zacchiroli [Wed, 14 Sep 2005 08:44:57 +0000 (08:44 +0000)]
enable selections and href handling on elements having href and no xref, this
permits selecting/following links on case pattern heads and outtype
Andrea Asperti [Wed, 14 Sep 2005 08:04:32 +0000 (08:04 +0000)]
Product, pair and projections.
Andrea Asperti [Wed, 14 Sep 2005 07:48:44 +0000 (07:48 +0000)]
factorization.ma
Andrea Asperti [Wed, 14 Sep 2005 07:47:11 +0000 (07:47 +0000)]
New version of the library. nth_prime, gcd, log.
Claudio Sacerdoti Coen [Tue, 13 Sep 2005 16:55:02 +0000 (16:55 +0000)]
Bug fixed: when several instances are tried during disambiguation, do not add
aliases unless they are absolutely necessary. Even in this case they should
be one-shot aliases (not implemented yet).
Claudio Sacerdoti Coen [Tue, 13 Sep 2005 16:33:46 +0000 (16:33 +0000)]
Enabling/disabling profiling is now controlled by a boolean (and not by a
comment!!!)
Enrico Tassi [Tue, 13 Sep 2005 15:13:52 +0000 (15:13 +0000)]
we have to pass back lastmeta and not newmeta (newmeta <= lastmeta).
just a cut and paste bug...
Stefano Zacchiroli [Tue, 13 Sep 2005 15:01:01 +0000 (15:01 +0000)]
valid baseuri in template
Stefano Zacchiroli [Tue, 13 Sep 2005 15:00:48 +0000 (15:00 +0000)]
no longer use absolute path for naming notebook labels
Stefano Zacchiroli [Tue, 13 Sep 2005 14:43:32 +0000 (14:43 +0000)]
fixed parsing of --x=x ("'uminus" is now right associative)
Claudio Sacerdoti Coen [Tue, 13 Sep 2005 14:36:44 +0000 (14:36 +0000)]
New policy for the disambiguation passes.
Claudio Sacerdoti Coen [Tue, 13 Sep 2005 14:36:06 +0000 (14:36 +0000)]
useless alias removed
Stefano Zacchiroli [Tue, 13 Sep 2005 14:11:45 +0000 (14:11 +0000)]
removed a comment/bug report about let..in rendering, now fixed
Stefano Zacchiroli [Tue, 13 Sep 2005 14:11:16 +0000 (14:11 +0000)]
fixed "let .. in" rendering, adding the break between the "in" and what follows
Stefano Zacchiroli [Tue, 13 Sep 2005 13:27:53 +0000 (13:27 +0000)]
- changed moo representation in MatitaTypes.status, no longer a string list, but a command (in AST format) list
- fixed redundancy in moo: aliases, interpretation, and default commands are always present only once in a single moo
- added MatitaTypes.add_moo_content: from now on it must be then only function used to add content to moo objects
Stefano Zacchiroli [Tue, 13 Sep 2005 13:25:46 +0000 (13:25 +0000)]
cosmetic changes
Stefano Zacchiroli [Tue, 13 Sep 2005 13:25:36 +0000 (13:25 +0000)]
fixed dummy_floc
Stefano Zacchiroli [Tue, 13 Sep 2005 13:24:56 +0000 (13:24 +0000)]
- fixed dummy_floc (now in DisambiguateTypes)
- cosmetic changes
Stefano Zacchiroli [Tue, 13 Sep 2005 13:24:22 +0000 (13:24 +0000)]
added moo dumping debug item
Stefano Zacchiroli [Tue, 13 Sep 2005 13:24:06 +0000 (13:24 +0000)]
remove matitamake binaries on clean
Stefano Zacchiroli [Tue, 13 Sep 2005 13:23:05 +0000 (13:23 +0000)]
added "commands_of_environment"
Stefano Zacchiroli [Tue, 13 Sep 2005 13:22:23 +0000 (13:22 +0000)]
regenerated
Stefano Zacchiroli [Tue, 13 Sep 2005 13:22:02 +0000 (13:22 +0000)]
moved dummy_floc from Disambiguate to DisambiguateTypes, since it is now needed by DisambiguatePp
Claudio Sacerdoti Coen [Tue, 13 Sep 2005 12:19:26 +0000 (12:19 +0000)]
...
Claudio Sacerdoti Coen [Tue, 13 Sep 2005 12:17:44 +0000 (12:17 +0000)]
...
Claudio Sacerdoti Coen [Tue, 13 Sep 2005 12:12:44 +0000 (12:12 +0000)]
Test fixed.
Claudio Sacerdoti Coen [Tue, 13 Sep 2005 11:56:42 +0000 (11:56 +0000)]
Two bugs fixed in the apply tactic:
1. an application of a term of type t where t reduces to a product does not
fail any longer: t is unfolded as required to produce enough products.
E.g. apply (t: ~A) when the goal is False
2. the apply tactic does not fail any longer when the goal is a product.
When the head of the type of the term is flexible, the type is a product
and the goal is a product (e.g. t: A -> ? vs A' -> B) the less instantiated
term (i.e. t) is tried first; in case of failure (e.g. A not unifiable with
A') t is instantiated adding one metavariable after another.
Claudio Sacerdoti Coen [Mon, 12 Sep 2005 17:04:54 +0000 (17:04 +0000)]
cic_textual_parser2 ==> cic_disambiguation
Claudio Sacerdoti Coen [Mon, 12 Sep 2005 16:59:51 +0000 (16:59 +0000)]
cic_textual_parser2 ==> cic_disambiguation
Claudio Sacerdoti Coen [Mon, 12 Sep 2005 16:54:44 +0000 (16:54 +0000)]
core_notation.ma ==> core_notation.moo
Stefano Zacchiroli [Mon, 12 Sep 2005 16:37:40 +0000 (16:37 +0000)]
removed left-spacing of 2 em for '(' (useful only for debugging purposes)
Stefano Zacchiroli [Mon, 12 Sep 2005 16:36:27 +0000 (16:36 +0000)]
- de-ALB-ing
- added a debugging item for notation
Stefano Zacchiroli [Mon, 12 Sep 2005 16:35:36 +0000 (16:35 +0000)]
cic_textual_parser2 -> cic_disambiguation
Stefano Zacchiroli [Mon, 12 Sep 2005 16:20:38 +0000 (16:20 +0000)]
removed debugging print
Stefano Zacchiroli [Mon, 12 Sep 2005 16:09:07 +0000 (16:09 +0000)]
removed work-arounds for poor disambiguation, which should now be fixed with the multiple passes support ...
Stefano Zacchiroli [Mon, 12 Sep 2005 16:06:33 +0000 (16:06 +0000)]
Added support for multiple disambiguation passes.
Actually, passes can differ in:
- whether they use library as fallback for unbound domain items or not
- whether they use multi-aliases or not
- whether they use coercions or not.
The current policy is to postpone the use of coercions as much as possible and to fallback to library only as a last resort.
Passes can be configured from matitaDisambiguator.ml.
Stefano Zacchiroli [Mon, 12 Sep 2005 16:02:02 +0000 (16:02 +0000)]
added support for multi-aliases in disambiguation environment(s)
Stefano Zacchiroli [Mon, 12 Sep 2005 16:00:51 +0000 (16:00 +0000)]
added use_coercions flag (imperative :-(, non re-entrant :-(((( )
Claudio Sacerdoti Coen [Mon, 12 Sep 2005 11:27:47 +0000 (11:27 +0000)]
Comment removed.
Claudio Sacerdoti Coen [Mon, 12 Sep 2005 10:44:12 +0000 (10:44 +0000)]
...
Claudio Sacerdoti Coen [Mon, 12 Sep 2005 10:26:36 +0000 (10:26 +0000)]
...
Stefano Zacchiroli [Mon, 12 Sep 2005 09:19:28 +0000 (09:19 +0000)]
- exported CPS iterator visit_magic
- added CPS iterator vivist_variable
- added freshen_term/freshen_obj which freshen instance numbers on ASTs
Stefano Zacchiroli [Mon, 12 Sep 2005 09:18:15 +0000 (09:18 +0000)]
Filled pre-generated notation levels with productions on dummy tokens (never generated by the lexer). This hack works around a bug in camlp4 which on delete_rule remove an entire precedence level if it gets empty after the delete_rule invocation.
Stefano Zacchiroli [Mon, 12 Sep 2005 09:16:56 +0000 (09:16 +0000)]
done some items
Stefano Zacchiroli [Mon, 12 Sep 2005 09:16:34 +0000 (09:16 +0000)]
commented Record type constructor
Claudio Sacerdoti Coen [Mon, 12 Sep 2005 08:52:13 +0000 (08:52 +0000)]
An old note (that goes back to July) integrated in matita.txt.