Unlike traditional coding competition sites, submissions (answers) on PPCG are free form; the only hard requirement is that all submissions must contain the scoring header and the code that solves the challenge. While some answers stop there, others contain a lot of additional information.

Usually, additional information is a good thing. Explanation of how the code works, ungolfed code (in the case of code golf competitions), links to online interpreters, visualizations, proof sketches of used properties, etc. are always welcome, as they help understanding the post. We're still part of the SE network which strives to create valuable sources of knowledge, and although we compete rather than answering questions, reading through the submissions to a challenge is usually a learning opportunity.

It is also common to include a second solution to the same challenge in a single post, usually due to self-imposed restrictions. For example, if the interpreter of the language of choice had a bug, one may post a competing and a non-competing, higher-scoring solution. Likewise, to similar solutions where the lower-scoring one is a lot more efficient are also common.

But not all additions to a submission are welcome. An extreme example would be spam, which is deleted on sight, even if it is an addendum to an otherwise valid answer.

A less extreme example would be an ASCII art version of the code, e.g., the source code shaped like a beer bottle for a 99 bottles of beer challenge. (Thankfully, this is by far less frequent than it used to be.) While this technique is usually popular with the voters, it doesn't really improve the post from a programming point of view. Personally, I consider these additions as upvote bait.

Finally, there's this answer, which is the reason I'm starting this meta discussion. Initially, it was deleted because it contained a polyglot that solves the challenge as written in one programming language, and related challenges for other natural languages in other programming languages. This brought the submission to 1931 bytes, and it was deemed a non-serious contender.

Since then, the answer was edited to include a 24 byte submission in BASIC, which by itself is a proper answer. However, the answer still contain the information of the original revision, which occupies the lion share of the post. While I consider the polyglot quite interesting and impressive, it is only tangentially related to the challenge and takes up a lot of space. The code that solves the actual challenge seems a mere formality in comparison. For the time being, I have undeleted and locked the answer.


  1. Should this specific answer stay as it is, or should the second part get removed?

  2. In general, what kind of additional information should be allowed as part of an answer?

  3. If an answer contains irrelevant information, what should we do?

  • \$\begingroup\$ Thank you for the discussion! One little note: my piece of code under After #define substitution we got: has the length of 380 bytes (and could be golfed up to 220 by removing newlines and several other, mentioned by me later in text, irrelevant for C parts; and I can do explicitly that in my answer), which is still answers the challenge. Isn’t that short enough?.. \$\endgroup\$ Commented Dec 7, 2016 at 7:14
  • \$\begingroup\$ @aleksusklim the problem isn't really the specific byte count (5k-byte answers in very verbose esoteric languages are completely fine) but that the code isn't really a solution to the challenge as posed but is only so long because of arbitrary self-imposed extra challenges (especially since the code only solves the actual challenge in one of the languages). \$\endgroup\$ Commented Dec 7, 2016 at 9:08
  • \$\begingroup\$ @Martin , Of course I can make another version of my code that will produce require output and again will be written on different languages, and as short as possible. But then the question will be to save only those by deleting first version, so I rather will avoid do that. \$\endgroup\$ Commented Dec 7, 2016 at 17:07
  • 2
    \$\begingroup\$ A more recent example: print “Hello, World!” \$\endgroup\$
    – Dennis
    Commented Dec 31, 2016 at 16:14
  • \$\begingroup\$ That’s something similar, but not really. Answer (not only the code) itself is not as long as mine (and does not consume much of page height). Personally, seeing zlib+base64 is not as awesome as it could be without it – but in that case the answer would be longer. Hmm, maybe I could polyglot that one too… But, na-ah)) \$\endgroup\$ Commented Jan 4, 2017 at 17:41

2 Answers 2


I'm not going to answer all three questions in one post, because then interpreting the votes is impossible. So this only really addresses question 1:

In this specific case, the added BASIC code should have been a new answer. It's not an improvement to the original answer, because it uses a different language; and it's not a trivial port which just serves to supplement the original answer. Therefore the net outcome should be the same as if the BASIC code had been posted as a new answer: the original answer should stand or fall on its own merits, and since it fails one of our basic criteria it should be edited out.

  • \$\begingroup\$ I made BASIC part only to allow first answer to stay alive. By the first place, I didn’t want to WIN the contest. So I disagree that first part should be thrown out. \$\endgroup\$ Commented Dec 7, 2016 at 12:48
  • 1
    \$\begingroup\$ @aleksusklim Personally, I don't want your first answer to stay alive as-is. It's not a serious contender for the challenge and it's cluttering your answer and taking lots of space. Your answer's content is more worthy of (and would be interesting in) a blog post. Somewhere else. \$\endgroup\$
    – mbomb007
    Commented Dec 7, 2016 at 17:14
  • 3
    \$\begingroup\$ @aleksusklim, that's exactly my point. The second part isn't expanding on the first part to show why the first part is a good answer. It is completely separate. And the first part is off topic. Although PPCG stretches the Stack Exchange model, one thing we keep is that this is not a discussion forum. "Answers" of the form "this made think of something related" don't belong, although probably noone would complain if you add a comment linking to e.g. a Github Pages site or a blog. \$\endgroup\$ Commented Dec 7, 2016 at 18:06

Can I have a word?

If my post should be deleted from there anyway, I might… instead put there the link to a third-party website where the actual answer will be stored. Is that accessible?

But in that case, I want my published answer have a header plus all my screenshot images, and first three my original paragraphs (up to actual polyglot code), since they resemble the beginning of the challenge question itself.

Then a problem that my post is just too long will be solved. Also I could provide a screenshot of the text and put it as a link.

  • 5
    \$\begingroup\$ If you removed everything from the VOTING! header on, and made that simply a hyperlink, I think that'd be a significant improvement. \$\endgroup\$
    – mbomb007
    Commented Dec 7, 2016 at 17:18
  • \$\begingroup\$ How long will last this discussion? (No, for me – the longer the better, but I need to know an approximate time after I should decide my following actions) \$\endgroup\$ Commented Dec 7, 2016 at 17:45
  • \$\begingroup\$ @aleksusklim There is no fixed time line. The discussion stays open until a consensus is reached. \$\endgroup\$
    – Dennis
    Commented Dec 8, 2016 at 17:30
  • \$\begingroup\$ So… and how to know when? Is there any amount of moderators&co who must answer here? Also, I’ll be glad to see here an answer by @Calvin'sHobbies , original author of the challenge. Oh, one more thing: if my that post will be finally deleted, then your link from this meta question – will point to nowhere since? \$\endgroup\$ Commented Dec 8, 2016 at 19:08
  • \$\begingroup\$ "Nowhere" - 8k+ users can still see deleted questions and answers. \$\endgroup\$
    – oldmud0
    Commented Jan 3, 2017 at 3:25

You must log in to answer this question.

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