An interesting counterpoint, not exactly disagreeing with the Meijer article:
I enjoyed the article. It actually convinced me to be a “fundamentalist” in my current job language, but… writing a really persuading article combating the “ambient monad” struck me as odd given that I have recently witnessed a tweet of the author where he claims:
I’m happy to leverage the ambient monad
I think I’ll just assume that he’s performing pro-level trolling on Twitter knowing his playful attitude from the Channel 9 videos.
Given his work on Rx in various (definitely) non-functional languages, there’s a definite smell of epic trolling. On the other hand, I think he ends with a serious point - it would be nice in non-functional languages to be able to mark code as “pure”. .NET started doing this with the “Pure” attribute in code contracts, but it never quite made it to being usable in my mind.
Why is it trolling to build better tools for real languages while simultaneously wishing for more?
It’s not, and in case I’ve given the wrong impression I have a great deal of respect for Meijer and his work.
What is trolling though, is to write a detailed rebuttal of why the strategy you’re currently prompting doesn’t work, tweaking the nose of people of the other side of an on going argument by pointing out their solution isn’t very good either and then sneaking in an actual practical suggestion at the end. In fact, I’d go as far as to say it’s a masterpiece of trolling that is far more thought provoking and engaging due to it’s ‘trollish’ nature.
Trolling how it should be done, not as puerile sexist/racist/plain stupid stuff you normally see.
Ahh.. I often forget that trolling has a non-idiotic side as well. I understand your point much better now and agree.
For those (aka myself) who want a deeper understanding of deferred execution: