arrow-structure syntax and semantics
RE01 Rice Brian T. EM2
BRice@vinson.navy.mil
Tue, 8 Dec 1998 20:48:28 +0800
> > -'data-flow graph' could be better explained as 'symbol flow
> graph'
> >(or structure flow graph). the point is that the arrow-structure in
> >question migrates to the location where it is used, instead of having a
> >representation. maybe this concept won't work.
> I think it will, you can draw analogies to thread systems:
<edited for brevity>
> Now admittedly your arrows are structure pointers as opposed to execution
> entities (currently?) but moving the arrow structure adds a layer of
> abstraction (more arrow pointers) while at the same time decreasing the
> layers
> by associating with a location, not a representation ie. it is just
> changing
> context, so it can work, and a lot of work has been done on migrating
> threads...
>
Well, the pointer-structure idea is just a way to visualize a concrete
system implementing such a conceptual system. I'm not making any guarantees
that such a format will _ever_ show up in Tunes software as a necessary
element. (It could, of course, show up at the request of the user, just
like any other interface can be called upon.)
> It seems like the arrows representation is a good start (it solves a lot
> of
> problems eg. type constraints etc.), however there are some things I am
> worried about: you have not talked about methods of sync. (for
> distriution/parallelism, no reference has been made to gcc (needs to be
> considered along with semantics content in factoring out) or cooperative
> scheduling.
>
Well, I could represent threads with arrow structures, which is one of the
advantages of this scheme. As for parallelism, since I haven't even
modelled a sequential computation model, I don't see a parallel model being
excluded just yet. Synchronisation, for instance, could be implemented by
describing the relationships preserving the consistency that we want. All
of this I will get to _later_ in the arrow discussion. In fact, I don't see
why we would ever have a problem with something like that.
btw, if anyone thinks that I want to make some sort of 'arrow compiler',
then they are quite mistaken. The point of the arrow system is a unified
conceptualization of computer systems.