Learning Haskell and FP

senganb@ia.nsc.com senganb@ia.nsc.com
Thu, 28 Dec 2000 19:26:00 -0700 (MST)


>  * The Design Patterns Haskell Companion
>    by [someone(s) reading this list?]

I agree except I would also like to see more on Haskell space-leaks and how to
find them. Lazyness is great for structuring programs and garbage collection
helps rapid prototyping immensely. However it makes it difficult to find the
cause of that 128Mb heap overflow once you have 2000 lines of code. Yes the
profiler gives you an idea of which function is using a lot of heap, but not
exactly where. E.g. I rewrote my monads ultra stritly and the heap consumption
fell by half, even though I'm not convinced being so strict isn't just masking
some other problem:

>    (MN c1) >>= fc2 = MN $ \s0 -> case c1  s0 of { (r1,io1,s1) ->
>                                  case fc2 r1 of { (  MN c2  ) ->
>                                  case c2  s1 of { (r2,io2,s2) ->
>                                  (r2,io1 >> io2,s2)              }}}

Such a "community written book" might be good for
http://www.lightandmatter.com/cgi-bin/asbrowsesubject.cgi?class=Q

Sengan