Labels as values and threaded-code interpretation
Dmitry Olshansky
dmitry.olsh at gmail.com
Sun Jun 2 01:52:10 PDT 2013
01-Jun-2013 20:13, Timon Gehr пишет:
> On 06/01/2013 07:29 AM, Alex Rønne Petersen wrote:
>> Hi,
>>
>> I'm sure this has been brought up before, but I feel I need to bring it
>> up again (because I'm going to be writing a threaded-code interpreter):
>> http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
>>
>> This is an incredibly important extension. The final switch statement is
>> not a replacement because it doesn't allow the programmer to store a
>> label address directly into a code stream, which is what's essential to
>> write a threaded-code interpreter.
>>
>
> I'd also like to see this.
>
Same here.
Though I believe a way to force tail-call can support the same use case
also helping functional programming.
Say:
goto Call-Expression; //forced tail call
instead of:
return Call-Expression;
--
Dmitry Olshansky
More information about the Digitalmars-d
mailing list