views:

52

answers:

2

I wonder about the idea of representing and executing programs using graphs. Some kind of stackless model where the each node in the graph represents a function and the edges represent arguments to the functions. In this way a function doesn't return the result to its caller,but passes the result as an arg to another function node. Total nonsense? Or maybe it is just a state machine in disguise? Any actual implementations of this anywhere?

+1  A: 

I think Dybvig's dissertation Three Implementation Models for Scheme does this with Scheme.

I'm pretty sure the first model is graph-based in the way you mean. I don't remember whether the third model is or not. I don't think I got all the way through the dissertation.

Nathan Sanders
A: 

This sounds a lot like a State machine.

Brian
Right. But doesn't anything is just a state machine ?
bugspy.net
I didn't notice your comment, "maybe it is just a state machine in disguise" comment in the original question.
Brian