Version française
Home     About     Download     Resources     Contact us    
Browse thread
stream
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Choun-Tong LIEU <Choun-tong.Lieu@l...>
Subject: stream


Bonjour,

	J'ai une conversation "bizarre" avec caml-light a propos des stream. J'ai
essaye de fouiller dans les docs, je n'ai pas trouve de reponse.

	Est ce que caml-light privilegie le dernier element non terminal des stream ?

	Voici la conversation :


>       Caml Light version 0.61

#let pr flux = do_stream print_int flux;;
pr : int stream -> unit = <fun>

#let toto = [< '1; '2; '3 >];;
toto : int stream = <abstract>

#pr toto;;
123- : unit = ()

#pr toto;;
- : unit = ()

(***** Ok, jusqu'a la, je comprends. do_stream a vide toto.
*****)

#let toto = [< '1; '2; '3 >];;
toto : int stream = <abstract>

#let tata = [< '4; '5 >];;
tata : int stream = <abstract>

#pr [< toto; tata >];;
12345- : unit = ()

#pr toto;;
- : unit = ()

(***** Ok, jusqu'a la, je comprends. do_stream a vide toto. *****)

#pr tata;;
45- : unit = ()

(***** Je comprends un peu moins ou pas du tout. Remarquons tata est a la fin
       de [< toto; tata >]
*****)       

(***** Ok, on recommence cette fois ci avec un seul.
*****)

#let toto = [< '1; '2; '3 >];;
toto : int stream = <abstract>

#pr [< toto >];;
123- : unit = ()

#pr [< toto >];;
123- : unit = ()

#pr toto;;
123- : unit = ()

(***** La je devine que toto n'est pas vide par do_stream parce que toto est
       le dernier dans [< toto >].
*****)

#pr toto;;
- : unit = ()




		Merci pour vos reponses. Cordialement votre.