TATTICHE
- - simplify (e altre tattiche) non debbono zeta-espandere i let-in
+ - comportamento di tutte le tattiche nei confronti dei let-in
- tattica unfold su rel a let-in bound variables
- theorem t: True. elim x. ==> BOOM! unificazione di una testa flessibile con
True.
in sync
- fattorizzare codice fra MatitaEngine e DisambiguatePp (dove, fra l'altro,
ora io (=CSC) ho messo anche un parser!!!)
- - integrare nuova contrib ferruccio nel bench notturno e rilocarla in
- contribs o qualcosa del genere
- bug "Warn: baseuri cic:/matita/higher_order_defs/ordering is not empty"
mentre si compila Z/times.ma. Il bug sembra essere transiente.
- in MatitaEngine unificare/rimuovere eval_string, eval_from_stream e
fetch/decode/execute delle linee dello script?
Una possibile alternativa e' avere alias "soft": se la disambiguazione
fallisce gli alias soft vengono ripuliti e si riprova.
+ Altra soluzione (Gares): avere alias multipli e provare tutti gli alias
+ multipli. Da combinare con il "ritenta con istanze multiple in caso di
+ fallimento".
SOLUZIONE PENSATA CON ANDREA: 1. la interpretate aggiunge un alias
implicito; 2. gli alias vengono ricordati come nella soluzione originale
(e veloce); 3. se la disambiguazione fallisce, allora gli alias vengono
- dimenticati (quali? tutti?) e si ritenta; se fallisce ancora si generano
+ dimenticati (quali? tutti? tutti tranne quelli chiesti all'utente?)
+ e si ritenta; se fallisce ancora si generano
istanze differenti e si ritenta; 4. ritentare anche senza e poi con
coercions? oppure ordinare preferendo la soluzione che non ha introdotto
coercions?; 5. che fare se alla fine restano piu' scelte? se si mettono
i demoni scopiazzano venti righe per via del getter embedded :-(
DONE
+- simplify non debbono zeta-espandere i let-in -> CSC, Gares
+- integrare nuova contrib ferruccio nel bench notturno e rilocarla in
+ contribs o qualcosa del genere -> CSC
- CRITICO: quando l'environment non e' trusted non compila la library di
matita!!! -> Gares, CSC
- bug di unsharing -> CSC