1
\$\begingroup\$

I've seen some code golf languages that still a work in progress (functions being added etc), but they have already been made public and people are posting answers using those languages.

I'd like to know what the standard practice is regarding changes to the language as it's still being polished. Adding functionality is always fine (with the usual restriction for not winning challenges with a posterior version of the language). But what about changing functionality? That would imply old answers would possibly cease to work in the new version. Is that considered acceptable? Should the language designer ensure full backwards compatibility?

As a specific example, suppose a language has function Xo for producing the number pi.1 Later on, the designer decides the name Xo would be better suited for a new function that is going to be introduced. To what extent would it be acceptable to rename the function that produces pi, and change the meaning of Xo? "Never do that" / "Try to avoid it as much as possible" / "Only in some cases" / "Don't worry, that happens all the time"... ?

1o looks like a circle, and X is an extension prefix

| |
\$\endgroup\$
  • 3
    \$\begingroup\$ The extent to which you choose to make your language backwards-compatible is a private matter between you and your language users, not an issue which affects the running of PPCG. \$\endgroup\$ – Peter Taylor Dec 15 '15 at 12:48
  • 2
    \$\begingroup\$ I wouldn't call that "private" when the language is made public. And I think the question does affect PPCG, that's why I asked here. Sorry if it's off-topic, though \$\endgroup\$ – Luis Mendo Dec 15 '15 at 12:57
10
\$\begingroup\$

I always just link to either

  • a Github release of the version in which it works

  • if there's no release yet that it works in (sometimes I've implemented a new feature but not yet created a release for it), I just link directly to the commit

That way, the answer is guaranteed to always work (assuming Github doesn't go down or something).

| |
\$\endgroup\$
  • \$\begingroup\$ Thanks! That's a good idea, if the changes are made to the language. But my question was more--- how acceptable / usual / frowned upon etc is it to do those changes? \$\endgroup\$ – Luis Mendo Dec 15 '15 at 12:11
  • 2
    \$\begingroup\$ @LuisMendo It's very hard to avoid such changes in new languages. If you make sure to link to versions in which the code works, there shouldn't be any problem. \$\endgroup\$ – Doorknob Dec 15 '15 at 12:12
  • \$\begingroup\$ Thanks! That totally makes sense. I'll wait for a while before accepting an answer. Anyway, coming from a moderator, I think this answer probably represents most users' thoughts \$\endgroup\$ – Luis Mendo Dec 15 '15 at 12:15

You must log in to answer this question.

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