[Gridflow-dev] ping (fwd)

Tom Schouten doelie at zzz.kotnet.org
Thu Sep 9 13:02:30 EDT 2004


thanks for fwding.. still training the mutt keystrokes.

> > > Then I think you can make that parallel between any two sufficiently
> > > powerful languages, unless I'm mistaken as to the nature of Forth.
> > maybe it's about coroutines, pipes and
> > ls|grep|awk|sed|whatever > /dev/null
> 
> Ok, I didn't know Forth supported coroutines. 

depends wether you implement it, actually.
because of the direct access to the return stack, you can create
all kinds of control structures, including coroutines/tasks/generators,
all flavours and variants.

> BTW I once thought about
> making each GridFlow object activation its own thread, just a kind of soft
> thread such as Ruby's that would allow objects to work more like UNIX. I
> didn't do it, because it introduces more overhead and complications than
> simplifications...

yes. it can get quite confusing. though i see coroutines in forth as
a good alternative to objects. i think this is the concept behind languages
like simula.

> Do you actually use Forth's coroutines to stream data from object to
> object?

no. that's overkill atm because most processors are stateless,
besides, i realized, to do it like above would require me to write
some more code, because that's not how i use them.

but it's certainly possible. currently i only use coroutines in the
form of tasks+round robin scheduler. works well with opengl style things.

> 
> > i've been doing a lot of advocating lately, and the simplest
> > explanation for me still is: it just works out.
> 
> It's not an explanation, it's just praise. An explanation actually
> explains something.

you like terminoligy wars, don't you? :)
this is how we use it in dutch, so forgive me i was half asleep.


> > > that. Else the only way to achieve it seems to be to reserve inlets and
> > > outlets specially for messages going the other way. The best example of it
> > > in GridFlow is [#remap_image].
> > it seems to me you're describing systolic arrays.
> 
> I don't know what your systolic array concept is, and I hope the word
> "array" means "network" more than "list of data", because that type of
> flow doesn't depend on grids.

yes, array can be anything that the topoly allows. usually only
linear and planar though, but systolic arrays are really used a lot in 
specialized hardware:

http://www.fact-index.com/s/sy/systolic_array.html


> > i don't think it's very fast either. pf is not a really fast forth, but 
> > it's still compiled to byte code when it loads. so no parsing or symbol 
> > lookup overhead during execution. all pointers.
> 
> Tcl8 is compiled to bytecode and although everything still looks like a
> text string on the surface, under the hood there's an atom-like structure
> that can directly represent ints, floats, and lists. Back in 1997, this
> made most Tcl7 programs become approximately 10 times faster overnight,
> while keeping 99% backward compatibility.

ok, i stand corrected about that.
this does somehow comfort me knowing that pd uses tcl. not that it matters, but..


More information about the Gridflow-dev mailing list