I think most people would agree that knowing category theory doesn't necessarily make you a good haskell programmer. What makes you a better programmer is more experience, better ways to think, etc... Because of this, a mathematician who knows category theory but has never programmed would not find that experience very useful to writing real programs. Instead, you need experience thinking about problems from an algorithmic and implementation driven perspective, which isn't necessarily something mathematicians are bad at, but programming experience definitely highlights a different set of muscles. What category theory gives you is a set of fundamental tools to think about abstractions, and this may help you get a higher level view of a problem in a principled manner more quickly. In practice, most Haskell programmers write some code, learn some theory (relevant to that code, for example, what a monoid is), write more code, learn more theory, refine and repeat. Brent Yorgey's [Typeclassopedia](http://www.haskell.org/haskellwiki/Typeclassopedia) is a good way to learn a bit of both. It highlights some practical haskell artifacts which are influenced by category theory. In learning category theory, it seems to be the case that you need copious examples before you understand anything (otherwise you'll be reading definition after definition saying "why does any of this matter?" to yourself), and in writing more Haskell code, you'll gain experience allowing you to make those connections. Kris On Sat, Oct 26, 2013 at 8:34 AM, swrangsar basumatary <swrangsarb@gmail.com> wrote:
i know what is a monad now. but i still have problems understanding the continuation monad and arrows.
Also is it necessary to know category theory to be a good haskell programmer?
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe