tag:blogger.com,1999:blog-7094652.post5851308420360514880..comments2024-03-23T14:36:09.980+00:00Comments on Neil Mitchell's Blog (Haskell etc): Destroying Performance with StrictnessNeil Mitchellhttp://www.blogger.com/profile/13084722756124486154noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-7094652.post-74205963886164388222013-09-09T10:41:51.041+01:002013-09-09T10:41:51.041+01:00Johan: Hmm, interesting about the State monad thin...Johan: Hmm, interesting about the State monad thing, agreed that surprise strictness is definitely a bad thing! Thanks for changing lookupDefault, much appreciated.Neil Mitchellhttps://www.blogger.com/profile/13084722756124486154noreply@blogger.comtag:blogger.com,1999:blog-7094652.post-53309738796700698782013-09-06T23:20:43.823+01:002013-09-06T23:20:43.823+01:00FYI, I've changed the behavior of unordered-co...FYI, I've changed the behavior of unordered-containers to only be strict in values actually inserted into the map now.Johan Tibellhttps://www.blogger.com/profile/06875432206357419172noreply@blogger.comtag:blogger.com,1999:blog-7094652.post-17681385821053347882013-08-17T07:04:30.487+01:002013-08-17T07:04:30.487+01:00How hard would it be to lift strictness annotation...How hard would it be to lift strictness annotations to type-level? E.g. instead of<br />f :: Int -> Int<br />f !x = x + 1<br />write<br />f :: !Int -> Int<br />f x = x + 1<br />which would have the same effect. At least it would be transparent to the developer using a particular function.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7094652.post-43575156749011145262013-08-16T10:49:21.066+01:002013-08-16T10:49:21.066+01:00Aside: Control.Monad.State.Strict is not strict in...Aside: Control.Monad.State.Strict is not strict in the state, only in the sequencing. This is another example of an API that gets used incorrectly all the time by seasoned Haskell programmers due to surprising laziness.Johan Tibellhttps://www.blogger.com/profile/06875432206357419172noreply@blogger.comtag:blogger.com,1999:blog-7094652.post-72835807855582299042013-08-15T17:09:40.897+01:002013-08-15T17:09:40.897+01:00Actually, hlint'ing the lamdu code improved fr...Actually, hlint'ing the lamdu code improved from 1m41s to 4.3 sec! That's a 24x improvement!<br /><br />I remember hlint became extremely slow at some point, and I was wondering whether our code just grew a lot at that time. Peakerhttps://www.blogger.com/profile/18054587706979539795noreply@blogger.comtag:blogger.com,1999:blog-7094652.post-68718660265870961762013-08-15T05:34:36.912+01:002013-08-15T05:34:36.912+01:00Thank you for bringing this to my attention. Good ...Thank you for bringing this to my attention. Good article too!dagitjhttps://www.blogger.com/profile/10574172070227922360noreply@blogger.com