Clem wrote, " the question came out language design of how the
stack or register call area was maintained: Was it/should it be the
responsibility of the calling routine or the called subroutine. Things
like Fortran's entry statement and other non-local goto's,
co-routines/setjmp/longjmp added fuel to the fire in the argument."
I don't remember much prospective discussion of the subject, but
lots of retrospective discussion of techniques that didn't
quite work, going right back to Lisp's A-list and the ensuing
"funarg problem". The first PL/I out of Hursley got it wrong, too,
but they were able to correct it before the bad way became
ingrained. In C, which had no need for closures (thunks),
efficiency was the main concern in choice of stack protocol.
The only delicate situation, longjump, was sidestepped by
doing it via library rather than language.
Doug