Translate C++ code to Haskell

This question was put on hold and then deleted by the user. And for this specific question, I think that is fine. It was off-topic as it didn't include the translated code, only the original version. He was asking for someone to write code for him.

However, let's look at the close reason we provided the user:

put on hold as off-topic by people 3 hours ago

  • This question does not appear to be a code review request within the scope defined in the help center.

If this question can be reworded to fit the rules in the help center, please edit the question or leave a comment.

This is the on-hold reason the system generates when a custom reason is used for closing a question. So the user might well turn to the comment left by the custom close reason:

This question appears to be off-topic because it is about porting code to another language.

And this disappoints me.

The question definitely needs to be closed, and there are multiple good existing reasons to close the question.

Moreover, questions about translating code aren't strictly off-topic, and this comment along with an unspecific close reason leads anyone who might see a question like this while it was still on hold to believe that somehow questions about some code you translated from one language to another are somehow off-topic here.


2 Answers 2


Agreed. "Questions containing broken code or asking for advice about code not yet written are off-topic, as the code is not ready for review" would have been a more appropriate closure reason.

I'd recommend using one of the standard closure reasons whenever possible, to avoid giving the impression that closure is a capricious decision.

That said, I'm not going to reopen this question just to fix its closure reason.

  • \$\begingroup\$ I'd challenge all of us to put great worded comments rather than worrying about a user misunderstanding a comment. Comments are comments not close reasons. And explaining how the close reason applies is definitely better than no comment at all. \$\endgroup\$ Aug 7, 2014 at 6:55
  • \$\begingroup\$ @JamesKhoury But closing a question with a custom reason causes the reason to be posted as a comment as a side-effect. Custom close reasons have the potential to enable users to make up the ad hoc closure decisions. (Example) \$\endgroup\$ Aug 7, 2014 at 7:12
  • \$\begingroup\$ Correct me if I am wrong but both the Custom and the generic close reasons show don't they? So therefore the user asking the question can see a general rule and a specific explanation. This I believe is the correct way to do it unless it it blindingly obvious. \$\endgroup\$ Aug 7, 2014 at 7:38
  • \$\begingroup\$ @JamesKhoury Each voter can only choose one close reason — either a standard or a custom one. Multiple close reasons would be posted only if the users chose different reasons. \$\endgroup\$ Aug 7, 2014 at 7:40
  • \$\begingroup\$ I'm disagreeing because you're advocating for NOT using custom close reasons as they can confuse. I'm advocating for better custom close reasons instead because a user may not understand how the rules apply to their question. (running on the assumption people actually read them and want to post within the guidelines) \$\endgroup\$ Aug 7, 2014 at 7:44
  • \$\begingroup\$ @JamesKhoury I suggest that you post an answer. \$\endgroup\$ Aug 7, 2014 at 7:45
  • \$\begingroup\$ I have posted my best explaination. Please disagree with me. \$\endgroup\$ Aug 7, 2014 at 7:58

I think we need to be more careful in what we use as custom close reasons but I disagree with the sentiment of using the standard close reasons more.

The answer would lie in using more complete sentences. A bad mediocre close reason:

Your question doesn't fit the expected guidelines.


Your question is asking for a review of code that has not yet been written. Here a code review is defined as ...

It would be better to explain what the rule is and how the user has not met the expected behaviour/style/etc.

In this case a better extended version might be

This question appears to be off-topic because it is about porting code to another language rather than review already working, production-ready code.

The key is the part after the "rather than" end of the sentence. It is clear what the rule is and how the user has broken the rule.

When a user posts a question we ask them to meet a small list of criteria, so maybe we should also ask the same of the reviewers?

  • \$\begingroup\$ @nhgrif as we have guidelines for good questions it would be helpful to have more (descriptive) guidelines for reviewing. FAQ/guidelines/etc. \$\endgroup\$ Aug 22, 2014 at 3:05
  • \$\begingroup\$ I'm advocating that we learn to write better close reason comments. How do flags come into that? \$\endgroup\$ Aug 22, 2014 at 3:12
  • \$\begingroup\$ I agree that custom close reason comments should be better--but we should focus on using the existing close reasons every time they're appropriate. The close reason shows up in a big gray box, but if you use the custom close reason, it's very unhelpful. \$\endgroup\$
    – nhgrif
    Aug 22, 2014 at 3:13
  • \$\begingroup\$ And in this specific case, the only reason it needed to be closed is because it was asking about code not yet written, for which a predefined close reason already exists. In this case, the close reason had nothing to do about the fact that it was about code translation. Leaving custom comments leads to letting users that may not fully understand the sites policies to confuse new users. \$\endgroup\$
    – nhgrif
    Aug 22, 2014 at 3:15
  • \$\begingroup\$ @nhgrif And I disagree that custom close reasons shouldn't be used much as they are only unhelpful if they aren't written well. If they are written well it explains how the question violates the rules. \$\endgroup\$ Aug 22, 2014 at 3:16
  • \$\begingroup\$ @nhgrif if the user has the ability to write custom close comments the assumption is that they are trusted to know the rules. Who Reviews the Reviewers? \$\endgroup\$ Aug 22, 2014 at 3:18
  • \$\begingroup\$ Anyone who can vote to close can write a custom close comment. The biggest problem is that the custom comment doesn't show up in the actual close reason--only as a comment to the question just like the comments we're using now. Moreover, a ton of thought goes into the wording of the defined close reasons. You should NEVER use the custom close reason when a pre-defined close reason applies. And if we find ourselves needing the custom close reason frequently, we can still add 2 more pre-defined close reasons. \$\endgroup\$
    – nhgrif
    Aug 22, 2014 at 3:20
  • \$\begingroup\$ @nhgrif 3000 rep for a graduated site should be enough to know the rules (3000 is the level in which you can vote to close?). I'm not saying we are using the pre-defined close reasons too much, rather that we are using the custom close reasons badly and this is not a good reason to encourage people not to use custom close reasons. \$\endgroup\$ Aug 22, 2014 at 3:25
  • 1
    \$\begingroup\$ We shouldn't encourage people to use custom close reasons though when an existing close reason applies. \$\endgroup\$
    – nhgrif
    Aug 22, 2014 at 3:27
  • \$\begingroup\$ @nhgrif I agree. Unless it is not going to be apparent to the poster. Using the pre-defined ones will only confuse them and then we are in the same posistion as this example. \$\endgroup\$ Aug 22, 2014 at 3:29
  • \$\begingroup\$ So now I'm back to being confused about your answer. How does it disagree with 200_success's answer? \$\endgroup\$
    – nhgrif
    Aug 22, 2014 at 11:17
  • \$\begingroup\$ @nhgrif The difference is that I don't recommend advising people to not use custom close reasons as a blanket response. Instead this should serve a reminder that we need to write them better. \$\endgroup\$ Aug 24, 2014 at 23:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .