Yeah, it does. We can have cycles in data and do recursion (although not in functions yet), but it is admittedly a little strange compare to imperative world; there's a recursion limit set that will short-circuit a computation if it nests too deeply. This isn't because of a danger of stack overflows, but because Mech programs are intended to reach some steady state at the end of each event. The problem with cycles is that we don't know when something is in an infinite loop, or if it's still churning before a steady state is eventually reached.
That said, one of the things I'm really interested in is seeing how far I can take the model on a DAG, because programs are much easier to reason able when they don't have cycles in the data. So far it seems you can write some very complicated programs (games, graphical user interfaces, robotics) as a DAG.
I've been trying to write a game and I always keep running into cycles. You're right, a lot can be done as a DAG, but especially for games, cycles happen a lot.
I'd love some resources on how to deal with those cycles when they come up.
That said, one of the things I'm really interested in is seeing how far I can take the model on a DAG, because programs are much easier to reason able when they don't have cycles in the data. So far it seems you can write some very complicated programs (games, graphical user interfaces, robotics) as a DAG.