[Haskell-beginners] Space leak debugging
Brandon S. Allbery KF8NH
allbery at ece.cmu.edu
Fri Jun 4 01:25:16 EDT 2010
On Jun 3, 2010, at 16:18 , Philip Scott wrote:
> that if you replace the 'if' line with
>
> if (B.null bs || i== -1) then return 1
>
> (i never equals -1) then it runs in constant space! That just
> boggles my mind.
That's your clue: since adding i there makes it run in constant
space, you must be forcing its evaluation when it otherwise was just
building thunks. So you need to make i strict with seq or case.
--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university KF8NH
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
Url : http://www.haskell.org/pipermail/beginners/attachments/20100604/118366b7/PGP.bin
More information about the Beginners
mailing list