3 ms·
> The parameters of a function are passed on the stack and the return values are returned immediately after on the stack. That's why naming your return values i
by UncleEntity 2y ago
> The parameters of a function are passed on the stack and the return values are returned immediately after on the stack. That's why naming your return values is just like naming your parameters - they are both local stack based variables.
Why should the user of a language need to know anything about how values are passed to/returned from a function? Passing them on the stack, in registers, on the heap are definitely in the 'implementation detail' camp.
And named return values seems to me to be just bookkeeping and (admittedly a good form of) user convenience.
That being said, I do like the way python does it with tuples and automagic tuple unpacking. Even the C-API makes it super easy to do multiple return values.