Today, one of the question I asked has been closed as not constructive, but I can't really understand why, since it doesn't ask for opinions, lists and the like. Moreover it's very unlikely to be debated, since it's a very specific and quite hard question.
The question, in the meantime has been reopened and closed again. To me such question "Are there any documented anti-patterns for functional programming?" looks looks strictly boolean, devoted to intentional learning and objective (since it ask about documented anti-pattern existance), but even if considered as subjective, it should be a good subjective one.
I can't really understand moderator's decision.
Moreover it has been wikified.
After this comment from George Stocker I realized that I didn't explained the actual problem well, so I'd try to make the question better replacing the first two lines with
Next month I'm going to work on a new R&D project that will adopt a functional programming language (I voted for Haskell, but right now F# got more consensus). Now, I've played with such languages for a while and developed a few command line tools with them, but this is a quite bigger project and I'm trying to improve my functional programming knowledge and technique. I've also read a lot on the topic: I can use Monads, MonadTransformers, CPS and a few mind-changing other tools, but I can't find any books or resources that document anti-patterns in the functional programming world.
Now, learning about anti-patterns means learning about other smart people failures: in OOP I know a few of them, and I'm experienced enough to choose wisely when something that generally is an anti-pattern, perfectly fit my need. But I can choose this because I know the lesson learned by other smart guys.
Thus, my question is: are there any documented anti-patterns in functional programming? Till now, all of my collegues told me that they do not know any, but they can't state why.
- If yes, please include one single link to an authoritative source (a catalogue, an Oleg's essay, a book or equivalent).
- If no, please support your answer by a proper theorem.
Please don't turn this question in a list: it is a boolean question that just requires a proof to evaluate the answer. For example, if you are Oleg Kiselyov, "Yes" is enough, since everybody will be able to find your essay on the topic. Still, please be generous.
Note that I am looking for formal anti-patterns, not simple bad habits or bad practices...
with the rest like the Rachel's edit.
However since the question is locked I can't do such edit by myself.
I'm quite quite sure that, with such carefully crafted and specific answer, no one that cares about the topic (and knows even just a bit functional programming) will ever turn it into neither a list nor a debate.
Thus, again, I ask to open it again and unwikify it so that every one that is able to answer will be incetivated to.
edit 3 Since somebody unlocked the question, I did the edit previously described in edit 2.
I hope that now the question is constructive, because
- it describes my problem
- it explicitly states that no list is allowed
- it describe how to answer yes or no
- it define the term "anti-pattern"
- it define the term "documented".
If I'm still wrong, and the question still violates any SO rule, I'd like to know precisely which one and how I can fix it. Otherwise, I would like to see it reopen and with community flag removed, so that anyone that can answer, is incentivated to.