> Lennart advocates the use of streams :
>
> > let mis = take n (random ss1)
> > is = take n (toInt (random ss2))
> > ds = take n (toDouble (random ss3))
> > in ...
>
> and I agree entirely with him, although the coding details might
> be different. Streams are nice and safe. And methodologically
> sane.
Surely it would be better to split the one stream into several infinite ones:
splitStream :: [a] -> ([a],[a])
splitStream xs = unzip (spl xs)
where spl (x:y:xs) = (x,y):(spl xs)
Then you don't have to know how many you are going to use from each stream.
--KW 8-)
--
: Keith Wansbrough, MSc, BSc(Hons) (Auckland) ------------------------:
: PhD Student, Computer Laboratory, University of Cambridge, England. :
: (and recently of the University of Glasgow, Scotland. [><] ) :
: Native of Antipodean Auckland, New Zealand: 174d47' E, 36d55' S. :
: http://www.cl.cam.ac.uk/users/kw217/ mailto:[EMAIL PROTECTED] :
:---------------------------------------------------------------------: