TODO 1.74 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
======================================================================
Alain 2005-06-18

Simplifier la sérialisation/déserialisation des structures internes;
utiliser les fonctions de sérialisation de Caml.

Plan d'attaque:

- utiliser des clés de hachage au lieu d'entiers séquentiels pour représenter
  les namespaces, tags, labels, identificateurs; signaler quand même 
  les collisions dans chaque espace de nommage.

    type 'a t
    val mk: int -> 'a t = "%identity"
    val get: 'a t -> int = "%identity"

  (autre avantage: possibilité de generer statiquement tables de dispatch
  sur les atomes)

  
- pour les structures cycliques (types, patterns, automates): attacher
  un identifiant unique d'unité de compilation dans chaque noeud;
  interdire deux unités avec même id. Accepter que les mêmes noeuds
  se retrouvent dupliqués en mémoire (on peut quand detecter l'égalité
  en regardant id d'unité + id séquentiel).


Autres idées:

- applatir la representation des valeurs.
  | Atom of ns * local
  | Xml of ns * local * fields * v

  (support du système de types pour interdire autre chose en position
  de tag / attribut - bonne chose de toute manière).

37 38 39 40 41
======================================================================
Alain 2005-03-04

Handle OCaml exception in the OCaml/CDuce interface

42
======================================================================
43
Beppe 2003-11-30
44

45 46 47 48
Add url support for non selfcontained documents and expat


======================================================================
49 50 51 52 53 54 55 56
Beppe 2003-01-23

Add the following types. 

<!--> String
<? T> String
<!cdata> String

57 58 59
Alain 2003-05-15
  Il faut faire attention: on ne veut pas de commentaires dans la
  representation interne, on ne veut pas distinguer section CDATA, etc...
60