On 2/4/07, Dominic Steinitz <[EMAIL PROTECTED]> wrote:
pad causes a stack overflow and pad1 uses up about 6m of heap.
pad = pad' 0
where pad' l [] = [0x80] ++ ps
where pl = (64-(l+9)) `mod` 64
ps = replicate pl 0x00
pad' l (x:xs) = x : pad' (l+1) xs
pad = pad' 0
where pad' l [] = [0x80] ++ ps
where pl = (64-(l+9)) `mod` 64
ps = replicate pl 0x00
pad' l (x:xs) = x : (pad' $! l+1) xs -- otherwise (l+1) it
will be deferred until replicate
--
Tolik
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe