On Mon, 30 Sep 2013 16:51:29 -0400, John Gilmore wrote:
>Many C dialects do support long jumps as a language extension.
>
As a language extension, or via functions? (Some purists make a
distinction. But it can't be done with functions without depending
on out-of-band knowledge of the stack structure.)
>They began in PL/I where they were/are called out-of-block GOTOs.
>
"began" only if you consider PL/I to antedate ALGOL 60, which I believe
is contrary to history. (And ALGOL 60 allows such label objects to be
passed as actual parameters; I don't know about PL/I.)
>PL/I's used of contextually recognized instead of reserved words is a
>high virtue. It is often caricatured as permitting constructs like
>
>declare file file record sequential buffered ;
>
And the worst compromise is Rexx, wherein such words are reserved
with the bonus of added contextual sensitivity:
ELSE = 'id' /* OK */
''ELSE /* OK */
ELSE /* IRX0008I Error ...: Unexpected THEN or ELSE */
-- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN