Interpretations of papers on functional programming
Dear Scalites,
I am not sure if this is the right place for raising this topic but it seems to be the closest. When entering the functional programming world, you are introduced to a whole massive heap of new concepts, explained through a number of papers on them. For someone without a background in functional programming, understanding them completely is certainly an uphill task. You can understand some parts of them but most of it just seems requiring reading a lot of other stuff like lambda calculus, different notations which seem a bit alien, which i personally dont mind, but time is always a problem.
So my primary question is: Is anybody aware of some blogpost/video/tutorial explaining fundamentals for understanding these papers? Now of course there are too many papers on functional programming, but I am interested in papers which lead to scala/scalaz/haskell. Specifically ones that lead to use of monads/applicative functors For example, while trying to read "The essence of the iterator pattern", i felt like i grokked 60% of it but rest was still hazy. Then I stumbled upon a fantastic blog entry on the same by Eric Torreborre, which was my crystallizing moment and everything just fell in its right place. A better understanding of that also helped in understanding "Applicative programming with Effects", although I guess in an opposite order.
Further, there are many blogposts/videos which ease-in the concepts of monads and provide rather simplistic view of monads and one starts thinking "oh yeh, I get monads now!". All I need is a "return" to lift my value and a "bind" to do sequential computations, with identity and associativity laws...easy enough. But then I saw the way Gregory Meredith is using monads to create whole new design patterns for the web and i start thinking that i probably don't get them completely cuz I could have never thought of anything like that, given my understanding of monads(for e.g. the way he is using monads as continuations). Obviously I am not trying to compare my mental/intellectual ability with that of Gregory who seems to be a uber-mathemetician with uber-CS skills but I feel like I don't have better intuition about monads and other functional concepts probably cuz I never fully understood those papers. I am talking about papers like "Notion of computations and monads", "Theorams for free", "The essence of functional programming", "Functional programming with monads", "Functional programming with bananas, lenses, envelopes and barbed wires" etc. I feel like I won't get functional programming at its core, until I grok these papers completely.
So I rephrase my question again: Is there any text/media explaining these papers using a language like Scala, given that most of these papers are already using Haskell? Or something that just explains the different notations, enough lambda calculus to understand these papers? Thanks for reading this and any response is deeply appreciated.
Thanks,
~Amulya