Earlier I thought you were implying x+.×y is allowed too, because it's a tradfn body. I guess the actual meta is you don't have to count the tradfn header if it's only a name f, but you do have to count it if it's like x f y.
It sounds like in a sense, Python doesn't have implicit output by default (but the REPL is an exception), whereas Dyalog does have implicit output by default (but shell scripts are an exception)
It makes sense to write up a meta consensus for APL that doesn't invalidate hundreds of APL answers of course. But I was surprised when I ran Ruben's code on ATO and it read two lines of input but didn't output anything.
I tried to make a fair comparison, but of course Python is not APL :) Anyway, in Python, the first four are allowed, the next two are snippets (invalid), and the last is a full program that doesn't output anything except in a REPL, so we don't normally allow this either, except I guess you could submit it as "Python REPL, 15 bytes"?
I don't know if APL has special conventions on the site, but we don't allow function bodies return x+1 or REPL programs for x in range(9):x*x in Python, right?
I think this ⍸ behavior might originally be a K thing, where it's called &. J's I. does it too. Jelly used to have it, and it was called O, but it got replaced by T which doesn't do the duplicating, and O is ord now
I think it needs either ⎕← to be a full program or {} to be a function. It looks kinda like they had it in {} and copied only the } and then also didn't count it to their byte total.
annoyingly, on ATO I don't have to tuck the [] and I can save 2 bytes, maybe because I'm putting the input only on STDIN there, whereas weekgolf also supplies it as a command line argument or something?