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