[Haskell-cafe] Re: tail recursion ?
jon.fairbairn at cl.cam.ac.uk
Mon Jun 11 12:48:16 EDT 2007
H. <h._h._h._ at hotmail.com> writes:
> Hello @ all,
> Sometimes one has an imperative algorithm, and wants to write a program in
> Haskell which do has the same effect...
> So the question is - how a construct as the following can efficiently be
> Pseudo code:
> n[1..10000] = false
> for (1..10000) |i|
> for (i,2*i..10000) |j|
> n[j] = not n[j]
> Certainly it is in this special case equivalent to (True where the index is):
> map (^2) [1..100]
> But I mean the destructive updates in the imperative code in Haskell without
> filling the (many times more than in imperative languages) memory with
> recursively called functions...
The idea in Haskell is not to think of stepping through the
array. Look at accumArray and ixmap.
Jón Fairbairn Jon.Fairbairn at cl.cam.ac.uk
More information about the Haskell-Cafe