Browse thread
[Caml-list] Question about camlp4
-
Frederic Tronel
-
Daniel de Rauglaudre
- Frederic Tronel
-
Daniel de Rauglaudre
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Frederic Tronel <Frederic.Tronel@i...> |
| Subject: | Re: [Caml-list] Question about camlp4 |
Daniel de Rauglaudre wrote: > > Salut, > > > Thanks for your prompt answer. > > Why not adding a special construction for building lists directly ?? > > Chais pas si c'est intentionnel de ta part, mais tu m'as juste répondu > à moi personnellement et pas dans la mailing list, alors je te réponds > en français, s'pas... J'ai repondu trop vite. > > La réponse est qu'il y n'y a qu'une seule représentation pour les listes. > Le type des listes est équivalent à quelque chose du genre: > type 'a mylist = > Nil > | Cons of 'a * 'a mylist > > Toi, ce que tu demandes, c'est que ça puisse être: > type 'a mylist = > Nil > | Cons of 'a * 'a mylist > | List of 'a list > > Du coup, la liste [1; 2] aurait plusieurs représentations possibles: > Cons (1, Cons (2, Nil)) > List [1; 2] > Cons (1, List [2]) > > Bien sûr, on pourrait faire en sorte que <:expr< $list:x$ >> soit un > raccourci de mon List.fold_left. Ça marcherait en position d'expression > mais pas en position de pattern, comme par exemple: > function <:expr< $list:e$ >> -> e > > car il faudrait que le pattern matching extraie la liste e constituée > des élements de la liste, liste qui n'existe pas forcément, si le > noeud d'arbre de syntaxe est juste un Cons de deux variables, par > exemple. D'accord, j'ai compris. Est-il possible que cela soit indique dans la doc (ca l'est peut-etre, mais je ne l'ai pas vu). Frederic. ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners