Related articles |
---|
recursive iterators alexc@world.std.com (2002-03-09) |
Re: recursive iterators rhyde@cs.ucr.edu (Randall Hyde) (2002-03-19) |
Re: recursive iterators bear@sonic.net (Ray Dillinger) (2002-03-21) |
Re: recursive iterators sarah@telergy.com (2002-03-31) |
Re: recursive iterators rhyde@cs.ucr.edu (Randall Hyde) (2002-04-06) |
From: | Ray Dillinger <bear@sonic.net> |
Newsgroups: | comp.compilers |
Date: | 21 Mar 2002 22:02:50 -0500 |
Organization: | Compilers Central |
References: | 02-03-032 |
Keywords: | design |
Posted-Date: | 21 Mar 2002 22:02:50 EST |
Alex Colvin wrote:
<clip>
> Are there any languages, especially C derivatives, with extensible control
> structures. C++ seems to have gone overboard with data-structure
> extensions, but (aside from exceptions, to which I take,) left control
> alone.
>
> To be (lightly) more specific, I have a program where I walk tree
> structures recursively, generating elements of a sequence. The program
> does several of these walks at once, doing different things with the
> elements.
<clip>
> Any thoughts? Is this straightforward in some popular language? Am I just
> thinking incorrectly?
Well, scheme makes the job you describe extremely straightforward.
You can pass procedures, closures, and continuations around, store
them in data structures, build executable code from data on the fly,
whatever. Since scheme allows both "up" and "down" continuations
(ie, the stack is saved with the continuation so you can return
from procedures more or less often than you call them) and allows
continuations to be stored as values in variables, you can
literally implement whatever control structure you can imagine in
a straightforward way. It's *NOTHING* like C, though.
Bear
[It's pretty easy in perl, too. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.