19
\$\begingroup\$

This is a follow up to Can I ever answer with a language invented after the challenge was posted? It seems to be well established that you can post answers using a new language, but you can't win.

What about new versions of the same language? For example, if Pyth is updated, can I use the new version of Pyth to answer old challenges?

\$\endgroup\$
2
  • \$\begingroup\$ One specific issue that might arrise with new versions of Pyth is that I have often added features to Pyth based on old challenges. \$\endgroup\$
    – isaacg
    Commented Jun 19, 2015 at 12:54
  • \$\begingroup\$ @isaacg I think that's why Martin's answer has so much support. \$\endgroup\$
    – Rainbolt
    Commented Jun 19, 2015 at 13:07

1 Answer 1

39
\$\begingroup\$

I would apply the same rules as to a new language, because it opens the same loopholes as using a newer language: any language author could just patch in a handy built-in to solve the challenge.

So yes, you can post it, but no your answer is not eligible for being accepted. Hence, answers using newer versions should add a disclaimer to the answer to inform the challenge author that their answer is not eligible for winning.

\$\endgroup\$
5
  • 1
    \$\begingroup\$ What if the new version is simply a bugfix, and the desired behavior of the language has been clearly described in the documentation prior to the challenge? I've seen a few CJam entries for which the official interpreter worked at the time of the challenge but the online interpreter did not, and I think there was even one (Pyth maybe?) that was ruled as ineligible because it didn't run correctly due to a flawed interpreter. \$\endgroup\$
    – lirtosiast
    Commented Jun 22, 2015 at 1:33
  • 2
    \$\begingroup\$ @ThomasKwa As long as there is a working interpreter it's definitely fine (even if there are buggy ones). But I believe that if there was a bug in both CJam interpreters I've never assumed the bug didn't exist. So yeah, I think we should always require that the code works as given in at least one interpreter that existed when the challenge was posted. \$\endgroup\$
    – Martin Ender Mod
    Commented Jun 22, 2015 at 8:50
  • 4
    \$\begingroup\$ What if an interpreter for the old language version is nowhere to be found? To which extent may I assert it would have worked in the old version? \$\endgroup\$ Commented Jun 23, 2015 at 15:08
  • 1
    \$\begingroup\$ @JanDvorak, if you don't have a copy to test it, don't make the claim. \$\endgroup\$ Commented Dec 19, 2015 at 20:35
  • 1
    \$\begingroup\$ @peter that would mean I couldn't participate in older challenges at all. Browsers update constantly and are a nuisance at best to downgrade, with online interpreters you can never be sure and even offline languages sometimes get updated and I am sure to forget when the last update was - and even if it was possible to look up when each version came out and old interpreters were still available, it's not easy to maintain and manage multiple versions at the same time. \$\endgroup\$ Commented Dec 20, 2015 at 5:31

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