Writing a counter function
Jon Fairbairn
Jon.Fairbairn@cl.cam.ac.uk
Sat, 29 Jun 2002 18:03:01 +0100
Shlomi Fish wrote:
> No. But I want to generate an irregular series, which I determine the
> intervals between two consecutive numbers myself. E.g:
> =
> let (num1, next1) =3D (counter 5)
> (num2, next2) =3D (next1 100)
> (num3, next3) =3D (next2 50) in
> [num1,num2,num3]
> =
> Will have the numbers [5, 105, 155].
What do you mean by "determine"?
You can write =
sequence =3D iterate step_counter 0
if the interval between successive numbers is determined by
the current number, or
sequence =3D map f [1..]
if it's determined by the index in the sequence.
or =
sequence =3D map snd $ iterate step_counter (0,-7)
step_counter (a,b) =3D (a+1, f a b) =
if it depends on both.
J=F3n
-- =
J=F3n Fairbairn Jon.Fairbairn@cl.cam.ac.u=
k
31 Chalmers Road jf@cl.cam.ac.uk
Cambridge CB1 3SZ +44 1223 570179 (after 14:00 only, please!)