diff --git a/src/TODO b/src/TODO.org
similarity index 67%
rename from src/TODO
rename to src/TODO.org
index 5235040f65b86721bd0e4620ff07a3eddf01608a..feabb2ba6a395f3257f96d077d61d474a8730403 100644
--- a/src/TODO
+++ b/src/TODO.org
@@ -1,20 +1,19 @@
 
-*********************************************************************
-*********************************************************************
-*** questions pour Pascal
-=========================
+
+* Questions pour Pascal
+=====================
 
 cf fichier QUESTION pour les question d'ordre plus général de choix de language
 (putot que d'implémenation).
 
 
-* dans le generateur de lic, comment imprimer le nom des packages ?
+** dans le generateur de lic, comment imprimer le nom des packages ?
  - Pack::toto -> pas du vieux lustre (donc pas reentrant)
  - Pack__toto -> name clash (si un ident local s'appelle comme ca)
  - _Pack__toto -> pas beau, rend lus2lic pas idempotent
 
 
-* slice_info_eff width = size ? Le commentaire dit 
+** slice_info_eff width = size ? Le commentaire dit 
  	S[i] = A[first + i*step] pour i = 0 .. width
 mais j'ai l'impression que ce devrait etre 
  	S[i] = A[first + i*step] pour i = 0 .. (width-1)
@@ -22,15 +21,15 @@ cad
  	S[i] = A[first + i*step] pour i = 0 .. (size-1)
 
 
-* Pour l'evaluation statique de l'egalité, j'ai pas fait pareil...
-grosso-modo, je teste si 'a=b' alors Pascal deconstruit plus finement
-le a  et le b. Mais j'ai  l'impression que ca revient  au meme. Ai-je
-raté un truc ? -> cf predefEvalConst.ml
+** Pour l'evaluation statique de l'egalité, j'ai pas fait pareil...
+   grosso-modo, je teste si 'a=b' alors Pascal deconstruit plus finement
+   le a  et le b. Mais j'ai  l'impression que ca revient  au meme. Ai-je
+   raté un truc ? -> cf predefEvalConst.ml
 
-* autoriser les  alias sur  "nor" et "#"  ? (ca compliquerait  les choses
+** autoriser les  alias sur  "nor" et "#"  ? (ca compliquerait  les choses
   pour bien peu... La difficulté étant du à l'arité variable de ces operateurs).
 
-* maintenant que je peux definir des trucs du genre
+** maintenant que je peux definir des trucs du genre
       x = map<<+;3>>
   ai-je encore besoin de Lustre::plus et consort ??? 
   bien que
@@ -47,29 +46,29 @@ rat
  pas d'en créer un avec ce nom...
  
 
-* au sujet des pragma:
+** au sujet des pragma:
  
 J'ai associé les pragma aux identificateurs, et seulement à eux. Est-ce suffisant ?
 
 
-* autoriser les noeuds (ou fonction) sans corps sans avoir a préciser
+** autoriser les noeuds (ou fonction) sans corps sans avoir a préciser
 "extern" ?
 
-* accepter les tuples multi-horloges ? ca parait logique, a partir du
+** accepter les tuples multi-horloges ? ca parait logique, a partir du
   moment où on accepte les noeuds multi-horloges. De même, la " -> "
   devrait être multi-horloge également. Et peut-etre d'autres encore...
 
-* soc = synchronous object component, c'est pas mieux comme nom ?
+** soc = synchronous object component, c'est pas mieux comme nom ?
 
-* Avec Marc, on pourrait aussi se synchroniser au niveau du lic.
+** Avec Marc, on pourrait aussi se synchroniser au niveau du lic.
 Mais du coup de travail de JB part à la poubelle...
 
-* En lic, dois-je generer lustre::ilt ou bien Lustre::lt ?
+** En lic, dois-je generer lustre::ilt ou bien Lustre::lt ?
 Générer lustre::ilt n'est pas tres compliqué, mais ca m'obliqe 
 à rajouter un LTI_n, LTR_n, etc., ce qui est un peu pénible
 et probablement géré à terme au niveau du lic.
 
-* dependance checking (lic2loc le fait ; faut-il le refaire ici ? )
+** dependance checking (lic2loc le fait ; faut-il le refaire ici ? )
 ex : 
   a=b;
   b=a;
@@ -78,15 +77,13 @@ cf
    test/should_fail/semantics/def.lus
    test/should_fail/semantics/piege.lus
 
-*********************************************************************
-*********************************************************************
-*** questions pour bibi
+* Questions pour bibi
 
-* EvalClock.var_clock_to_base (l200): c'est pas ca qu'il faut faire. 
+** EvalClock.var_clock_to_base (l200): c'est pas ca qu'il faut faire. 
   en effet, si on 1+1+a when c, ca risque de ne pas marcher.
 
 
-o Lazycompiler.solve_x_idref 
+** Lazycompiler.solve_x_idref 
 
  Comment  se faisse  que  je n'ai  pas  besoin de  me  servir de  cet
 x_info ?????  En fait, je devrais  le passer en  argument de x_check,
@@ -102,80 +99,75 @@ lazycompiler.ml:
   Simplify  a  little  bit  a  couple  of  functions  (avoiding  code
   duplication basically). 
 
+** Ident.idref : a remettre dans SyntaxTree ? 
+en  tout  cas,  je  devrais  m'en  etre completement  debarassé  au  niveau  du
+compiledData, et ca n'est pas le cas pour l'instant... cf [solve_ident]
 
 
-* Ident.idref : a remettre dans SyntaxTree ? en tout cas, je devrais
-m'en etre completement debarassé au niveau du compiledData, et ca
-n'est pas le cas pour l'instant... cf  [solve_ident]
-
-
-* accepter les expressions du style "b when not(a)" ? 
+** accepter les expressions du style "b when not(a)" ? 
   ou bien rajouter un mot clef "whenot" comme Marc?
 
-* un noeud  sans memoire  pourra etre déclaré  comme "node"  ou comme
+** Un noeud  sans memoire  pourra etre déclaré  comme "node"  ou comme
 "function" que si l'option -v4-compat est donnée ?
 
-* rejeter les expressions du style "a when a" ?
+** rejeter les expressions du style "a when a" ?
+
+* A faire
+** 3) pour le ec (specifiquement) le nommage  systematique avec  "nom du pack"
+(donc du fichier) en prefixe est un peu lourd,
+ en tout cas pas compatible avec ce que faisait pollux.
+ Il pourrait y avoir une option en plus du genre "-no-pack-prefix" ?
 
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
-A faire
 
-* Attacher l'horloge des expressions aux expressions elle-meme,
-plutot que d'utiliser une hashtbl (comme pour le type).
+** Attacher l'horloge des expressions aux expressions elle-meme,
+   plutot que d'utiliser une hashtbl (comme pour le type).
 
-* pourquoi Eff.true_type_of_const n'est plus utiliser et qu'aucun des tests
+** pourquoi Eff.true_type_of_const n'est plus utiliser et qu'aucun des tests
 de non reg ne semblent avoir echouer ?
 
-* Ne pas  générer de  "current", "->", "pre"  (i.e., les  traduire en
+** Ne pas  générer de  "current", "->", "pre"  (i.e., les  traduire en
   termes de "merge" et "fby").
       
-* rajouter "mirror"?
+** rajouter "mirror"?
 
-* --help devrait  retourner la liste des  operateurs predefinis, avec
+** --help devrait  retourner la liste des  operateurs predefinis, avec
     leur type
 
-* Verifier que les fonctions sont des fonctions etc. 
+** Verifier que les fonctions sont des fonctions etc. 
 
-* verifier  qu'il n'est  pas nécessaire  de verifier  que les  gens ne
+** verifier  qu'il n'est  pas nécessaire  de verifier  que les  gens ne
   nomment pas leur package Lustre...
 
-* Dans Eff.const, le variant Int_const_eff devrait etre parametre par
+** Dans Eff.const, le variant Int_const_eff devrait etre parametre par
 un string, pas par un entier
 
-* le merge
+** le merge
 
-* traduire les enum (en mode --expand-enums) proprement, et pas en patchant
+** Traduire les enum (en mode --expand-enums) proprement, et pas en patchant
 LicDump comme actuellement. Car sinon, c'est pas facile de generer du
 code pour les horloges enumerés en mode -lv4.
 
 -----------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
-Divers
+* Divers
 
-* patcher le mode emacs
+** patcher le mode emacs
 	- rajouter modele, package, etc.
 	- l'indentation est vraiment à chier
 
-
-* implementer une option --old-style-syntax pour faire quelque chose des trucs
+** implementer une option --old-style-syntax pour faire quelque chose des trucs
  du genre "[int,int]" voire meme "[int,real]" qui ne sont plus autorisé, mais à
  qui on pourrait donner du sens via des tableaux et des structures factices
 
 
------------------------------------------------------------------------
------------------------------------------------------------------------
 -----------------------------------------------------------------------
 * Manuel
 
-- finir de rédiger le manuel
-- verifier que j'y parle bien de la priorite des operateurs
-- verifier que chacun des exemples du repertoire "should_fail" à une
+** finir de rédiger le manuel
+** verifier que j'y parle bien de la priorite des operateurs
+** verifier que chacun des exemples du repertoire "should_fail" à une
 correspondance dans le manuel, et reciproquement...
 
-- Dans  la   doc,  distinguer  2   sortes  de  polymorphismes   :  le
+** Dans  la   doc,  distinguer  2   sortes  de  polymorphismes   :  le
 polymorphisme  faible,  et le  polymorphisme  fort,  qui accepte  les
 tuples! 
 
@@ -185,28 +177,26 @@ les operateurs polymorphes au sens fort sont : fby, ->, current, pre, ite
 En effet, on ne peut pas  ecrire (1,2) > (3,4) (enfin pour l'instant,
 mais est-ce souhaitable ?)
 
------------------------------------------------------------------------
------------------------------------------------------------------------
 -----------------------------------------------------------------------
 * Tests
 
-- evalEq.translate_left_part : faire plus de verification sur les
+** evalEq.translate_left_part : faire plus de verification sur les
 index de slice 
 
-- verifier que tous les "assert false" sont vraiment innateingnables.
+** verifier que tous les "assert false" sont vraiment innateingnables.
 
-- verifier que chacun des exemples du repertoire "should_fail" échoue
+** verifier que chacun des exemples du repertoire "should_fail" échoue
 avec un bon message d'erreur. 
 A ce propos, pourquoi 
      should_fail/semantics/activation1.lus
      should_fail/semantics/activation2.lus
 sont-ils sensés échouer ?
 
----------------------------------------------------------------------
----------------------------------------------------------------------
 ---------------------------------------------------------------------
 
-* idée rigolote me vient  : faire du byte-profiling sur les tests
+* Idées rigolotes  
+
+** faire du byte-profiling sur les tests
 de non-regression, et faire  un grep de "(* 0 *)" pour  voir s'il y a
 du code mort ou bien des tests à rajouter.
         
@@ -282,7 +272,10 @@ du code mort ou bien des tests 
 -----------------------------------------------------------------------
 -----------------------------------------------------------------------
 -----------------------------------------------------------------------
-* "extern", "unsafe", and "memoryless" annotations   
+
+* Misc
+
+** "extern", "unsafe", and "memoryless" annotations   
 
 Rajouter ces 3 mots clefs dans la syntaxe.
    
@@ -291,8 +284,6 @@ L'id
 	- safe (i.e., pas d'effet de bord)
 	- memoryfull (i.e., ils utilisent de la mémoire)
 
-
-
 bon, non en fait, il n'y a pas besoin de rajouter tous ces mots clefs.
      o memoryless -> function, qui existe deja
      o extern -> y'a rien besoin de dire : on regarde juste s'il y a un
@@ -314,10 +305,7 @@ alors rajouter l'option  --infer-memoryless-annotation). Ou alors, on
 se contente d'emmettre des warning.
 
 
----------------------------------------------------------------------
----------------------------------------------------------------------
----------------------------------------------------------------------
-* [solve_ident]
+** [solve_ident]
 
 finir solveIdent.ml 
 
@@ -379,15 +367,14 @@ rien 
 pas bien compliquée ni bien longue...
 
 
------------------------------------------------------------------------
------------------------------------------------------------------------
+
 -----------------------------------------------------------------------
 * Flies fuck
 
-+ utiliser des Map.t dans Unify (et peut-etre ailleurs)
-+ Encapsuler le module Global.
-+ traiter les types int, real, bool dans Predef ?
-* mettre pre, current, when, etc. dans predef ?
+** utiliser des Map.t dans Unify (et peut-etre ailleurs)
+** Encapsuler le module Global.
+** traiter les types int, real, bool dans Predef ?
+** mettre pre, current, when, etc. dans predef ?
 
-+ Faire qque chose pour les 2 verrues dans predefSemantics pas facile...
-+ Essayer de tronconner le lazyCompiler, 700 lignes, c'est trop (et c'est pas fini !)
+** Faire qque chose pour les 2 verrues dans predefSemantics pas facile...
+** Essayer de tronconner le lazyCompiler, 700 lignes, c'est trop (et c'est pas fini !)