Compte tenu de ces déclarations je rencontrais des flux compréhension de problèmes dans SML:combinant deux cours d'eau, élément de traction d'un alors d'autres
exception Bad of string;
fun from seed next = Cons(seed,fn() => from (next seed) next);
fun head (Nil) = raise Bad("got nil in head")
| head (Cons(a,b)) = a;
fun tail (Nil) = raise Bad("got nil in tail")
| tail(Cons(a,b)) = b();
fun take 0 stream = nil
| take n (Nil) = raise Bad("got nil in take")
|take n (Cons(h,t)) = h::(take (n-1) (t()));
Je peux créer un flux de Naturals [1.0,2.0,3.0 ...] comme si: val nat = from 1.0 (fn x => x+1.0);
et un flux de ceux: val one = from 1.0 (fn x => x);
Mais comment pourrais-je faire pour créer un flux à partir de ces deux cours d'eau? Plus précisément, une fonction qui fusionne deux flux et génère un flux.
quelque chose comme: fun merge a b
où a et b sont des flux. Autrement dit, si nous avons fait take 5
après la fusion de ces deux, il donnerait [1.0,1.0,2.0,1.0,3.0]
très soignée, jeu mal avec elle remerciement – user3831011