Date: Wed, 28 Feb 1996 10:38:10 +0100
From: Choun-Tong LIEU <Choun-tong.Lieu@litp.ibp.fr>
Message-Id: <199602280938.KAA02520@cadillac.ibp.fr>
To: caml-list@pauillac.inria.fr
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.