Enrico Tassi [Fri, 12 Dec 2008 12:08:16 +0000 (12:08 +0000)]
better error message, functions to clear various caches used during translation of old2new cic, logger functions implemented inside the typechecker so that
uncommenting one line makes the type checker more verbose when recursively typing stuff
Enrico Tassi [Fri, 12 Dec 2008 11:43:39 +0000 (11:43 +0000)]
pattern matching over Ast.Case simplified:
- it is not possible to match the `in intype` foo part
- it is not possible to match the outtype
eta expansion still done on Ast (hard to do it in Cic. The abstracted variable
does not have a type :-( thus you may have to double your notations. Name for fresh variables changed to \etaX instead of freshX (much shorter in terms of screen pixels)
Enrico Tassi [Tue, 9 Dec 2008 18:29:37 +0000 (18:29 +0000)]
raise uncertain when a sort is not a sort but may be, use max for mixing universes, coercions to sort in the prod case are triggered before putting the source type in the context
Enrico Tassi [Sat, 6 Dec 2008 18:12:03 +0000 (18:12 +0000)]
new concept of virtuals, defined only in the gui that behave as the old (still
present and used) ut8tables and ligatures mapping \foo or => to unicode symbols.
support in the gui for utomatical sumstitution of a virtual with its utf8
counterpart (disabled now, grep for if false && str = " ").
support for uf8 equivalnce classes, names simalrsymbols, activated by alt-l.
alt-l is now overloaded, can expand a \foo or => to a unicode symbol
and cycle on unicode symbols in the same eq class of the one just before the
cursor.
classes are already defined for letters mapping them to variants (other
alfabets and fonts) and on arrows and <.
Enrico Tassi [Thu, 4 Dec 2008 19:36:50 +0000 (19:36 +0000)]
Fixes:
- new letin interpretation in nCicDisambiguation fixed to not swap arguments
- new refiner raises good exception in case a sort in not such
- reference raise good exception instead of assert false
Improvements:
- new disambiguation attached
- constructor -> indty function in reference
The aliases and multi_aliases in the lexicon status are now
LexiconAst.alias_spec (they used to be DisambiguateTypes.codomain_item).
Benefit: it is now possible to use the very same set of aliases both for the
new and old terms. Moreover, this commits simplifies quite a bit of code.
Known bugs: when clicking the "OK" button in the error message disambiguation
window, an assertion is often raised. When the assertion is not raised, the
set of aliases that are printed are not syntactically/semantically correct.
Ferruccio Guidi [Sun, 30 Nov 2008 18:23:11 +0000 (18:23 +0000)]
lambda-delta/toplevel: improved transformation from automath (20 secs gained)
bug fix in the default arguments specification
reverse indexes are now supported
transcript: unused parser productions removed
Ferruccio Guidi [Fri, 28 Nov 2008 21:41:19 +0000 (21:41 +0000)]
cicDischarge: final fixup. Now correctly processes Coq/Init/Logic.mma :)
We handle missing abstractions in MutCase output type
procedural/Coq: we removed the depence from legacy
Ferruccio Guidi [Fri, 28 Nov 2008 18:28:58 +0000 (18:28 +0000)]
ng_disambiguation ng_kernel ng_refiner disambiguation: svn:ignore fixed
hExtlib: the map of list_findopt takes the position in the list (starts at 0)
cicRefine, acic2astMatcher, grafiteEngine: updated accordingly
cicUtil cicDischarge: bug fixes
cicSubstitution: new function lift_map for non-linear relocation
proceduralOptimizer: initial support for contrlling critical optimizations
Ferruccio Guidi [Tue, 25 Nov 2008 19:27:41 +0000 (19:27 +0000)]
cicUtil: we moved here pp_term from proceduralHelpers
cicDischarge: some bugs fixed
transcript: we now support explicit declaration of dependences
procedural/Coq: we added an explicit dependence to Init/Prelude where needed