
Hi, there, I'm relatively new to Haskell...well... I mean I haven't done anything I believe truely in Haskell. I have gone through materials like Learn You a Haskell for Real Good, Real World Haskell, most chapters in Haskell Wikibook, Write Yourself Scheme in 48 Hours, Algorithms: A Functional Approach and other materials in Haskell Wiki. *But... what I feel is that I'm not confident while writing Haskell code.*Having gone through all those materials with "magic", I always feel I'm writing stupid code and there must be more elegant way... And... what's worse, I feel guilty while using IO monad but I simply cannot avoid it, like when I try to write code generator for a toy compiler, I need to keep state of the registers, which I need IORef... Then I feel its not pure anymore but I don't know how to get around it. I'm wondering if anyone else shares this kind of feeling and what should I do next? Could anyone suggest any project to get hands on experience with Haskell? Another question is that the deeper digging into functional algorithms design (reading the book Pearls of Functional Algorithm Design), the more ignorant I feel. So how do I make up the basics like fold law, list induction etc. Any suggested reading materials? Well.. I think that's a lot question. Thanks for your patience and your kind help.