I asked a challenge to interpret deadfish here, but it got closed for being a duplicate of a challenge to write an interactive deadfish interpreter here. Is this really a duplicate?
-
2\$\begingroup\$ Just for the sake of completeness: another possibility would be to close the old challenge (which is 4+ years old) and reopen this one if it turns out that it better fits our current standards. (I don't know the rules about closing the older challenge as duplicate -- nor do I know if such rules really exist -- so please feel free to write a complete post if you do.) \$\endgroup\$– ArnauldCommented Feb 16, 2018 at 11:07
5 Answers
Maybe!
The title of this question is general, so I'll provide a general answer. It applies to the specific challenges mentioned in the question too.
Ask yourself this:
Does it bring something new to the table?
If it does, then it's not a duplicate. If it doesn't, then it's a duplicate.
In general, taking away (or imposing new) restrictions might lead to very different answers in which case it's not a duplicate. However, it may also lead to similar answers where parts of the code is taken away, or there are some parts added to the existing ones, in which case it can be considered a duplicate.
It's hard to tell how close two challenges can be before they are considered duplicates. The Sandbox is particularly useful in such cases.
-
\$\begingroup\$ I think this meta question is about the specific challenge, not questions similar to it. \$\endgroup\$ Commented Feb 15, 2018 at 19:07
-
3\$\begingroup\$ I think so too, but I think the question benefits from having a general answer that can be referred to in the future. I like when meta-posts can be used as guidelines in the future. If someone only reads the title (which is the only part visible in the "Related" section to the right, then it appears to be a general question. \$\endgroup\$ Commented Feb 15, 2018 at 19:18
-
4\$\begingroup\$ It might be my SO mentality shines through though... "Help/answer everyone, not just OP... \$\endgroup\$ Commented Feb 15, 2018 at 19:19
No, it is not a duplicate.
Since I'm the one who hammered it back open, I should definitely explain my thoughts on this. An interactive interpreter is a lot different from a non-interactive one, because a non-interactive interpreter can be a lot simpler and use some golfing strategies that would not work provided a requirement for a prompt.
For example, displaying a prompt and taking input from STDIN takes up to 6 bytes in Jelly, and putting it in a loop takes another 2, at least, so answers from the interactive one would not be competitive enough in this scenario unless they were modified to match the challenge specs for this challenge, which I believe justifies its individual existence. Likewise, answers in this challenge wouldn't even be valid in the other one because they're non-interactive without a prompt.
Stewie Griffin's main point which I want to expand on is whether or not it "adds something new to the table". This is definitely a good point to consider and while I believe that the two have basically the same ideas in terms of what they're doing, I'd argue that the majority of KC challenges are all basically identical and that adding a non-interactive interpreter challenge does bring something new by allowing participation of certain languages without interactive input (maybe those exist, I don't know) and opening the scope to another set of golfing strategies.
For these reasons, I voted to reopen. (For reference, my vote counted in the place of 2 votes in this case)
-
\$\begingroup\$ I think "adding something new to the table" would mean more than simply removing 8 bytes from an existing solution (can't judge this as there's no Jelly solution and I don't know Jelly), the heart of the challenge is the same. As an example my Haskell answer would require 3 really trivial modifications to meet the specs and be competitive and looking at other solutions, this seems to be the case too. \$\endgroup\$– ბიმოCommented Feb 17, 2018 at 13:45
-
1\$\begingroup\$ There are many languages without interactivity, Brain-Flak or stackcats. \$\endgroup\$ Commented Feb 18, 2018 at 4:53
Yes, it is a duplicate
Since I am the one who “hammer”-closed it as a duplicate, I feel like I am morally obligated to explain my reasoning here. Because your challenge is merely a subset of the other challenge, I think they cannot be considered different challenges — although the answers are not immediately portable from one challenge to another, the core task is the same: Interpret the Deadfish programming language. Interactively or not, the idea is the same. Therefore, I think they are too closely related for yours to be kept open.
Don’t get me wrong, it’s a very well-written challenge, but I closed it as a duplicate because your was a subset — and a rather big one — of the other post.
-
1\$\begingroup\$ I think this one is a superset (any valid answer for the other is valid for this, but not vice versa) \$\endgroup\$ Commented Feb 16, 2018 at 12:08
-
\$\begingroup\$ @user202729 If any answer to that one is valid for this one, then this one is a subset of that one. \$\endgroup\$ Commented Feb 16, 2018 at 12:23
-
1\$\begingroup\$ @Mr.Xcoder I don't think it's exactly a subset, because the other one required interactivity through a prompt. This one does not require any prompt whatsoever. In fact, the other one required producing extra output, while this one forbids it. \$\endgroup\$– robbieCommented Feb 16, 2018 at 12:38
-
\$\begingroup\$ Note that this is my very own opinion on the question. This is meta, so don’t hesitate to express your agreement / disagreement by voting. \$\endgroup\$ Commented Feb 16, 2018 at 13:44
No
Since a valid answer for your challenge isn't a valid answer for the other one, and a competitive answer in the other challenge wouldn't be competitive in yours - I don't think it's a duplicate.
-
1\$\begingroup\$ A competitive in the other can be competitive in this one actually. \$\endgroup\$ Commented Feb 16, 2018 at 12:15
The case for "No".
I did vote to close, but I was actually trying to just flag it for moderator attention. I don't necessarily have an opinion one way or another, but I want to present this viewpoint.
Sometimes challenges require a lot from a language (IO, measuring mouse clicks or positions, etc.) and a similar challenge with fewer requirements can be appropriate.
An example of this is Visualize Visual Eyes and The Eyes are Following You. The first challenge required detection of mouse location on a screen and the second challenge replaced mouse interactivity with an integer input, allowing for many more languages to participate.
In this case, if the first challenge is restrictive of many languages due to requiring interactivity, then another challenge might be warranted.
Edit: if you disagree, please consider adding a comment and explaining why.