
On 7 Dec 2010, at 09:00, Stephen Tetley wrote:
[*] Personally I don't consider the status quo here to be an ugly wart. The redundancy of notations between Applicative and Monad has useful separation of Applicative and Monadic styles for *current* Haskell.
Perhaps I'm a statistical outlier, but I find this separation highly counterproductive, both when I try to teach it and when I come to use it. These days, I write a lot of almost entirely pure HTML-generating code, sparsely peppered with effectful incidents (read CGI input, mark it wrong, etc). My code splits into two ill-connected chunks: a do-block which generates the interactive nuggets, then a whole sodding web page after the return. It's awful. Change cannot come too soon!
If Post-Haskell or even Haskell'2012 wants to merge the styles to "bind only when you need to" that's fine but the new language is obliged to create the tutorials, text books, write the conference papers in the new style, etc.
Indeed. We need to manage change carefully, hence this discussion. If we could clarify the direction of travel, that would certainly help. It's not at all obvious to me that we should make the Functor => Applicative => Monad change in isolation, but we should certainly be looking to deliver that change and others in a coherent manner. All the best Conor