[Haskell-cafe] Monte Carlo Pi calculation (newbie learnings)

Yitzchak Gale gale at sefer.org
Tue Nov 6 18:47:21 EST 2007


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


More information about the Haskell-Cafe mailing list