]> matita.cs.unibo.it Git - helm.git/commitdiff
fix
authorEnrico Tassi <enrico.tassi@inria.fr>
Mon, 11 Jul 2005 15:35:48 +0000 (15:35 +0000)
committerEnrico Tassi <enrico.tassi@inria.fr>
Mon, 11 Jul 2005 15:35:48 +0000 (15:35 +0000)
helm/matita/matita.txt

index 90e8303dde809993810e98aeb33ac14916802175..b264bd2951c0c37f7874b74b5309bcda1d811c13 100644 (file)
@@ -1,74 +1,91 @@
+TODO
+  NUCLEO
+  - PREOCCUPANTE: per 
+    inductive i : Prop := K : True (*-> i*) -> i.
+    noi generiamo i_rec e i_rect con e senza il commento qui sopra; Coq NON
+    genera i_rec e i_rect quando c'e' un argomento ricorsivo.
+    (CSC: manca vincolo aggiuntivo non dipendente dalla sorta per il caso in
+    questione)
+    
 
-(**********************************************************************)
+  TATTICHE
+  - theorem t: True. elim x. ==> BOOM! unificazione di una testa flessibile con
+    True.
+  - parsing contestuale (tattiche replace, change e forse altre)
+    capire dove fare la select per avere i contesti in cui disambiguare gli
+    altri argomenti.
+  - assiomi (manca sintassi concreta e AST).
+  - Guardare il commento
+    (*CSC: this code is suspect and/or bugged: we try first without reduction
+    and then using whd. However, the saturate_term always tries with full
+    reduction without delta. *)
+    in primitiveTactics.ml. Potrebbe essere causa di rallentamento della apply
+    oltre che di bug!
+  - Dare errore significativo al posto di NotWellTypedInterpreation
+  - Bug nella generazione dei principi di eliminazione:
+     1. generazione nomi (usa ref incrementata localmente)
+  - elim_intros_simpl e rewrite_simpl: ora non viene usata dal
+               ^^^^^^           ^^^^^^
+    toplevel la variante che semplifica. Capire quali sono i problemi
+    e/o cosa fare delle varianti con semplificazione.
+    (con sintassi concreta alla \section*, analogamente cut e similia che fanno
+    intros... )
+  - eta_expand non usata da nessuno? (ask Andrea?)
+  - eliminare eta_fix? (aspettare notazione) (correlato con sopra?)
+  - bug di ferruccio: fare un refresh dei nomi dopo l'applicazione
+    di una tattica. Di quali nomi fare refresh? (Andrea) di quelli
+    veramente ambigui, ovvero dell'ultimo binder tale che sotto di
+    esso un nome viene usato in maniera ambigua. Esempio:
+    \lambda x. \lambda x. (x x) (dove una x e' -2) ==> fare refresh
+    \lambda x. \lambda x. (x x) (dove entrambe sono -1) ==> non fare refresh
+    Capita quando un tipo dall'environment (e.g. \lambda x.T)
+    viene inserito in un contesto (e.g. x:nat) dove le variabili
+    sono gia' state legate in precedenza.
+  - supportare l'apertura di piu' script contemporaneamente in tab/finestre
+    diversi/e
 
-TODO
-- fare "matita foo" (dove foo non esiste), cambiare qualcosa e uscire senza
-  salvare. In verita' foo e' stato scritto lo stesso!
-- matitaclean all dovrebbe radere al suolo la directory .matita
-- tornare indietro in matita dovrebbe essere O(1) e non un Undo passo passo
-- invertibilita' dell'inserimento automatico di alias: quando si torna
-  su bisognerebbe tornare su di un passo e non fare undo degli alias
-- theorem t: True. elim x. ==> BOOM!
-- PREOCCUPANTE: per 
-  inductive i : Prop := K : True (*-> i*) -> i.
-  noi generiamo i_rec e i_rect con e senza il commento qui sopra; Coq NON
-  genera i_rec e i_rect quando c'e' un argomento ricorsivo
-- parsing contestuale (tattiche replace, change e forse altre)
-- assiomi
-- Guardare il commento
-  (*CSC: this code is suspect and/or bugged: we try first without reduction
-  and then using whd. However, the saturate_term always tries with full
-  reduction without delta. *)
-  in primitiveTactics.ml. Potrebbe essere causa di rallentamento della apply
-  oltre che di bug!
-- Bug di cut&paste: se si fa cut&paste di testo lockato si ottiene testo
-  lockato!
-- keybinding globali: CTRL-{su,giu,...} devono fungere anche quando altre
-  finestre hanno il focus (e.g. cicBrowser). C'e' gia' da qualche parte il
-  codice che aggiunge i keybinding a tutte le eventBox, e' da ripristinare
-- quando si sposta il punto di esecuzione dello script cambiare la parte di
-  script visibile nella finestra dello script
-- Dare errore significativo al posto di NotWellTypedInterpreation
-- Implementare menu edit: find/replace/cut/copy/undo/etc.
-- Bug nella generazione dei principi di eliminazione:
-   1. generazione nomi (usa ref incrementata localmente)
-- elim_intros_simpl e rewrite_simpl: ora non viene usata dal
-             ^^^^^^           ^^^^^^
-  toplevel la variante che semplifica. Capire quali sono i problemi
-  e/o cosa fare delle varianti con semplificazione.
-- eta_expand non usata da nessuno?
-- notazione -> Luca e Zack
-- eliminare eta_fix? (aspettare notazione)
-- bug di refresh del widget quando si avanza ("swap" tra la finestra dei
-  sequenti e la finestra dello script)
-- feedback su hyperlink nei sequenti e nel browser: rendere visibili gli
-  hyperlink (cursore a "manina"? hyperlink evidenziati?). La maction che
-  collassa la prova e' fastidiosa: la prova si chiude se non si clicca
-  correttamente su un hyperlink
-- disabilitare (set_sensitive false) menu e bottoni mentre matita sta
-  processando lo script per evitare interazioni pericolose
-- bug di ferruccio: fare un refresh dei nomi dopo l'applicazione
-  di una tattica. Di quali nomi fare refresh? (Andrea) di quelli
-  veramente ambigui, ovvero dell'ultimo binder tale che sotto di
-  esso un nome viene usato in maniera ambigua. Esempio:
-  \lambda x. \lambda x. (x x) (dove una x e' -2) ==> fare refresh
-  \lambda x. \lambda x. (x x) (dove entrambe sono -1) ==> non fare refresh
-- a volte genera termini con variabili legate da piu' binder
-  Capita quando un tipo dall'environment (e.g. \lambda x.T)
-  viene inserito in un contesto (e.g. x:nat) dove le variabili
-  sono gia' state legate in precedenza.
-- script outline -> Zack
-- cicBrowser: riagganciare(?) resa di termini scritti
-  nella URL(??)
-- menu contestuale (tasto dx) nel sequent viewer -> attende notazione
-- riattaccare hbugs (brrr...)                             -> Zack
-- gestione dei path per include: il path deve essere assoluto? da decidere ...
-- highlight degli errori di parsing nello script (usando lo sfondo come per la
-  parte lockata di testo, da ripulire quando si modifica il testo o si sposta il
-  punto di esecuzione)
-- salvare la parte di testo lockata dagli effetti di undo/redo (come?????)
-- supportare l'apertura di piu' script contemporaneamente in tab/finestre
-  diversi/e
+
+  GUI GRAFICA
+  - bug di refresh del widget quando si avanza ("swap" tra la finestra dei
+    sequenti e la finestra dello script)
+  - feedback su hyperlink nei sequenti e nel browser: rendere visibili gli
+    hyperlink (cursore a "manina"? hyperlink evidenziati?). La maction che
+    collassa la prova e' fastidiosa: la prova si chiude se non si clicca
+    correttamente su un hyperlink (anche tooltip sui bottoni)
+  - Implementare menu edit: find/replace/cut/copy/undo/etc.
+  - invertibilita' dell'inserimento automatico di alias: quando si torna
+    su bisognerebbe tornare su di un passo e non fare undo degli alias
+    (Zack: nella history ci sono anche gli offset per sapere a che pezzo di
+    script uno stato appartiene)
+  - Bug di cut&paste: se si fa cut&paste di testo lockato si ottiene testo
+    lockato!
+  - keybinding globali: CTRL-{su,giu,...} devono fungere anche quando altre
+    finestre hanno il focus (e.g. cicBrowser). C'e' gia' da qualche parte il
+    codice che aggiunge i keybinding a tutte le eventBox, e' da ripristinare
+  - quando si sposta il punto di esecuzione dello script cambiare la parte di
+    script visibile nella finestra dello script (finche' l'utente non lo
+    modifica lui, tipo agendo sulla scrollbar)
+  - fare "matita foo" (dove foo non esiste), cambiare qualcosa e uscire senza
+    salvare. In verita' foo e' stato scritto lo stesso!
+  - script outline -> Zack
+  - menu contestuale (tasto dx) nel sequent viewer -> attende notazione
+  - riattaccare hbugs (brrr...)                             -> Zack
+  - highlight degli errori di parsing nello script (usando lo sfondo come per la
+    parte lockata di testo, da ripulire quando si modifica il testo o si sposta
+    il punto di esecuzione)
+  - salvare la parte di testo lockata dagli effetti di undo/redo (come?????)
+    con ctrl-Z
+
+  GUI LOGICA
+  - matitaclean all (o matitamake cleanall) dovrebbe radere al suolo la
+    directory .matita
+  - tornare indietro (verso il cursore) in matita dovrebbe essere O(1) e non un
+    Undo passo passo (sembra che il collo di bottiglia sia fare iterare su ogni
+    uri da togliere (accorpare almeno il lavoro sul db magari aiuta).
+  - freeze durante avanzamento
+  - notazione -> Luca e Zack
+  - gestione dei path per include: il path deve essere assoluto? da decidere ...
+    ( -I ?? o chiedere a matitamake la root e farci una find? )
 
 DONE
 - Bug: non disambigua