Hi Alex, > I think I would have avoided most of the problems > in the first place. I'm finding the documentation > to be rather undiscoverable at the moment, but I'm > sure it's just a question of learning my way around it.
Make sure to keep http://haskell.org/ghc/docs/latest/html/libraries/ on your favorites list. >> Represent >> your big iteration as a list. Try to stick >> to fairly simple operations on the list. Then the >> compiler will figure out how to keep things >> lazy and also release memory as it goes along. > See, this is what I thought I was doing, but I > couldn't see where to simplify it further. Sorry, you're right, I was begging the question. Hmm. Well, for starters: o Try to keep your big list far away from the IO monad. o Whenever possible, use the following library functions rather than manual recursion for iterating over your big list: take, takeWhile, drop, dropWhile, map, concatMap, filter, zip, zipWith. Browse around the wiki in places like: http://haskell.org/haskellwiki/Stack_overflow http://haskell.org/haskellwiki/Performance/Laziness http://haskell.org/haskellwiki/Performance/Strictness http://haskell.org/haskellwiki/Category:Style http://haskell.org/haskellwiki/Category:Tutorials -Yitz _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
