<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span style="font-family: arial, helvetica, sans-serif;">Hi all haskellers</span></div><div><span style="font-family: arial, helvetica, sans-serif;"><br></span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><span style="font-family: arial, helvetica, sans-serif;">I every now and then get the feeling that doing my job code in Haskell would be a good idea.</span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><span style="font-family: arial, helvetica, sans-serif;"><br></span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><span style="font-family: arial, helvetica, sans-serif;">I have tried a couple of times, but each time I seem to run into performance problems - I do lots of heavy
 computing.</span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><span style="font-family: arial, helvetica, sans-serif;"><br></span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><span style="font-family: arial, helvetica, sans-serif;">The problem seems to be connected to lazy loading, which makes my programs so slow that I really can not show them to anyone. I have tried all tricks in the books, like !, seq, non-lazy datatypes...</span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><span style="font-family: arial, helvetica, sans-serif;"><br></span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><span style="font-family: arial, helvetica, sans-serif;">I was poking around to see if this had changed, then I ran into this forum
 post:&nbsp;http://stackoverflow.com/questions/9409634/is-indexing-of-data-vector-unboxed-mutable-mvector-really-this-slow</span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><span style="font-family: arial, helvetica, sans-serif;"><br></span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><span style="font-family: arial, helvetica, sans-serif;"><span>The last solution was a haskell program which was in the 3x range to C, which I think is ok. This was in the days&nbsp;</span><font><span style="line-height: 18px;">of ghc 7.0</span></font></span></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><font><span style="line-height: 18px; font-family: arial, helvetica, sans-serif;"><br></span></font></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><font><span style="line-height: 18px;
 font-family: arial, helvetica, sans-serif;">I then tried compile the programs myself (ghc 7.4.1), but found that now the C program now was more that 100x faster. The ghc code was compiled with both O2 and O3, giving only small differences on my 64-bit Linux box.</span></font></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 16px; font-family: arial, helvetica, sans-serif;"><font><span style="line-height: 18px; font-family: arial, helvetica, sans-serif;"><br></span></font></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 16px; font-family: arial, helvetica, sans-serif;"><font><span style="line-height: 18px; font-family: arial, helvetica, sans-serif;">So it seems something has changed - and even small examples are still not safe when it comes to the lazy-monster. It reminds me of some code I read a couple of years ago where one of the Simons actually
 fired off a new thread, to make sure a variable was realized.</span></font></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 16px; font-family: arial, helvetica, sans-serif;"><font><span style="line-height: 18px; font-family: arial, helvetica, sans-serif;"><br></span></font></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 16px; font-family: arial, helvetica, sans-serif;"><font><span style="line-height: 18px; font-family: arial, helvetica, sans-serif;">A sad thing, since I am More that willing to go for Haskell if proves to be usable. If anyone can see what is wrong with the code (there are two haskell versions on the page, I have tried the last and fastest one) it would also be interesting.</span></font></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 16px; font-family: arial, helvetica,
 sans-serif;"><font><span style="line-height: 18px; font-family: arial, helvetica, sans-serif;"><br></span></font></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 16px; font-family: arial, helvetica, sans-serif;"><font><span style="line-height: 18px; font-family: arial, helvetica, sans-serif;">What is your experience, dear haskellers? To me it seems this beautiful language is useless without a better lazy/eager-analyzer.</span></font></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 16px; font-family: arial, helvetica, sans-serif;"><font><span style="line-height: 18px; font-family: arial, helvetica, sans-serif;"><br></span></font></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 16px; font-family: arial, helvetica, sans-serif;"><font><span style="line-height: 18px; font-family: arial, helvetica,
 sans-serif;">Cheers,</span></font></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 16px; font-family: arial, helvetica, sans-serif;"><font><span style="line-height: 18px; font-family: arial, helvetica, sans-serif;"><br></span></font></div><div style="color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-size: 16px; font-family: arial, helvetica, sans-serif;"><font><span style="line-height: 18px; font-family: arial, helvetica, sans-serif;">Felix</span></font></div></div></body></html>