DIP: Tail call optimization
Dietrich Daroch via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Wed Jul 13 08:04:43 PDT 2016
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.
More information about the Digitalmars-d-announce
mailing list