On Tuesday, 12 July 2016 at 10:46:01 UTC, Dmitry Olshansky wrote:
On Sunday, 10 July 2016 at 05:03:46 UTC, Dietrich Daroch wrote:
Hi everyone (=
I've just added a new proposal to add a new attribute to
ensure TCO is applied.
[...]
In contrast to what many folks expect, TCO is affecting program
semantics in a way that changes stack overflow to normal
execution.
Therefore it's not an optimization but part of semantics, and
there should be a way to mark a call as a tail-call in any
optimization level.
Yes, it's not a tiny detail that improves performance a bit, but
it decides wheter the built binary works or not.
Also, some people are against breakage, but having a correctly
built binary that may surprise you with a stack overflow when
ported is not something I would call real portability.