File: TODO

package info (click to toggle)
cduce 0.6.0-5
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 5,216 kB
  • sloc: ml: 21,321; xml: 11,270; sh: 341; makefile: 258; perl: 97
file content (88 lines) | stat: -rw-r--r-- 2,628 bytes parent folder | download | duplicates (2)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88

- Define a small library to pretty print xml documents
  e.g.  pretty_dump_xml_to_file (shorter name of course)


- Dans l'evaluateur, pour les appels en position terminale, essayer de rutiliser
  l'environnement (si c'est la bonne taille, rutiliser le bloc; si c'est les bonnes
  valeurs, juste utiliser le mme bloc).

- Problem: a custom toplevel doesn't find ./cdo2ml (should put the path
  to cduce's directory in the toplevel?)


======================================================================
Alain 2005-06-18

Simplifier la srialisation/dserialisation des structures internes;
utiliser les fonctions de srialisation de Caml.

Plan d'attaque:

- utiliser des cls de hachage au lieu d'entiers squentiels pour reprsenter
  les namespaces, tags, labels, identificateurs; signaler quand mme 
  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 units avec mme id. Accepter que les mmes noeuds
  se retrouvent dupliqus en mmoire (on peut quand detecter l'galit
  en regardant id d'unit + id squentiel).


Autres ides:

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

  (support du systme de types pour interdire autre chose en position
  de tag / attribut - bonne chose de toute manire).

- reprsentation plus compacte des descriptions de types, liste
  chaine par ordre croissant des constructeurs:

   type descr =
    | Prod of BoolPair.t * descr
    | Times of BoolPair.t * descr
    | ...
    | Empty

  Avantage: oprations plus rapides ? ( vrifier)   Bien choisir
  l'ordre.
  Supprimer cl de hash stocke.

- Utiliser un gnrateur automatique pour les fonctions de hash/comparaison.

======================================================================
Alain 2005-03-04

Handle OCaml exception in the OCaml/CDuce interface

======================================================================
Beppe 2003-11-30

Add url support for non selfcontained documents and expat


======================================================================
Beppe 2003-01-23

Add the following types. 

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

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...