Labels as values and threaded-code interpretation

Brad Roberts braddr at puremagic.com
Sun Jun 2 00:49:13 PDT 2013


On 6/2/13 12:33 AM, Paulo Pinto wrote:
> Am 02.06.2013 09:25, schrieb Brad Roberts:
>> On 6/1/13 9:49 PM, Walter Bright wrote:
>>> On 6/1/2013 7:35 PM, Alex Rønne Petersen wrote:
>>>> On 01-06-2013 09:59, bearophile wrote:
>>>>> "Recently" the Python C interpreter was modified and speed up thanks to
>>>>> this non-standard feature. CPython source code has two versions, one
>>>>> with computed gotos and one without, to compile it even if your C
>>>>> compiler doesn't support them or their GNU-C syntax.
>>>>
>>>> I don't think there's any question as to the usefulness (and
>>>> essentialness) of
>>>> this feature. I'm very close to just writing most of the interpreter
>>>> in C over a
>>>> triviality like this.
>>>
>>> To be pedantic, C and C++ don't have that feature. Some compilers add
>>> it as an extension.
>>>
>>> Also, such a construct could not be made @safe. The trouble is you
>>> could pass those addresses
>>> anywhere, and goto them from anywhere.
>>
>> While you're technically correct, every major compiler in the unix world
>> support it with the same syntax.  It's entered into defacto standard
>> status.
>
> If your world is only UNIX then yeah, there are still lots of non UNIX os out there if you look
> outside the desktop computers.
>
> Of course, one could always question if they matter at all.

I agree.  I said unix primarily to mean most except for msvc.

Many if not most of those non-unix platforms use gcc, which is included in the set of compilers that 
does support it.  The point is, which you didn't change, is that's it's a defacto standard even if 
not technically in the c or c++ language specs.




More information about the Digitalmars-d mailing list