Many changes in the client-side interfaces:
1. Bug fix: after a SearchPattern query it was impossible to interact
any more with the "alias" editor. The problem was that the JavaScript
code assumed the existence of a parent frame that is not always there.
Closes #24
2. New release of the client-side interface with some bug fixes in the
grammar production
Big change: parenthesis can now be put in any place to disambiguate the
expression. The case "(expr) -> expr" is no more an exception. An application
node is generated iff more than one expression is put inside the parenthesis.
- parse postgres connection string also from environment variable
- solved some compatibility issues with MathQL
- use old Misc functions from MQueryMisc
- added HBugs support
- switched to multi threaded implementation
- fixed references from Misc to MQueryMisc module
- moved search pattern apply in ../ocaml/tactics/tacticChaser.ml*
- added HBugs notification after tactic application
- bugfix: removed some useless status save
- defined module type "Tactics", module type returned by Make functor
- moved exception IllFormedUri, string_of_cic_textual_parser_uri,
cic_textual_parser_uri_of_string,
wrong_xpointer_format_from_wrong_xpointer_format' to MQueryMisc
- moved here strip_xml_headings from gTopLevel.ml
- added pp_to_outchan and pp_to_string for other medium pretty printing
- factorized implementation of pretty printers so that it's used by all
pretty printing functions
Makefile.common.in and .depend backtracked to my last commit (before the
ones of Ferruccio) and then modified. Dependencies between a file and a
library are now handled correctly.
Minor module re-organization:
1. SequentPp is now no more dependent from proofEngine
2. the functions to apply stylesheets from DOM documents to DOM documents
are not any longer exported by ApplyStylesheets
Major module reorganization:
- new module TermViewer: holds widgets to render and interact with sequents
and proofs at the CIC level
- new module ApplyStylesheets: functions to apply stylesheets and map
terms and sequents to MathML Presentation
- new module InvokeTactics: it is a functor that gives back a module that
defines one callback function for every tactic
1. helmns and domImpl moved to the misc module ;-(
2. all the constants and functions relative to stylesheet applications have
been moved to the new module ApplyStylesheets, whose interface is really
minimal.
Minor code reorganization:
1. several functions unrelated do disambiguation moved from Disambiguate
do Misc.
2. TermEditor module added. It implements a widget for entering terms.
The widget is also responsible for the disambiguation.
3. TermEditor is now the only widget that uses the Disambiguate module.
1. All the reduction tactics have been modified to reduce several (sub)terms
at once.
2. To reduce several (sub)terms at once you can use the new multiple
selection feature.
Optional callbacks have been added to tactics that need to introduce
new fresh names directly (i.e. without calling other tactics that need
fresh names). The default behaviour is _MUCH_ nicer than the previous
dummy one and is fully functional.
Corollary 1: all the code of tactics.cma is now reentrant.
Corollary 2: the user can be asked the fresh name if it is requested
by a top-level tactic.
New module Disambiguate to hold:
- a functor to disambiguate terms. The input module holds all the
callbacks to the user (that will be implemented differently in Gtk
and as Web forms).
- some utility functions working on CicTextualParser0.uri which should
be moved somewhere else.
Ambiguous parsing improved: refining is now used to prune-out not-well-typed
choices as soon as the term can not be refined. Unfortunately the whole
disambiguation is parsing-bound and not type-checking/refining bound.
Refine can now also raise Uncertain. The exception is raised every
time a metavariab le could be instantiated in such a way that the
term could become well-typed. Useful for ambiguous parsing.
Added a special charcount threatment to the 'append' csymbol (whose length
was estimated being 6 instead of 3). We should do the same for every csymbol
we provide special notation to.
Michele Galatà [Thu, 12 Dec 2002 09:08:38 +0000 (09:08 +0000)]
Rearranged tactics in VariousTactics into new modules EqualityTactics, EliminationTactics,
IntroductionTactics and NegationTactics.
Added new tactics: Rewrite <-, Replace.