### Tutorial example CircleSingleCycle

Files

circleSingleCycle.py

Cyclic dependencies are perfectly acceptable in Eden. Tutorial example CircleSingleCycle shows one way of dealing with them. In general there should always be an update path from a Node that changes to any Node depending upon it. Here the update graph is choosen to be

- areaNode -> radiusNode
- radiusNode -> perimeterNode
- perimeterNode -> areaNode

This update graph contains only one cycle

- radiusNode -> perimeterNode -> areaNode -> radiusNode

Advantage of modelling dependency relations as a single cycle is, that the Node that triggered the update will always be part of this cycle. Since this triggernode is already up to date, updating will stop right there, avoiding recursion. Disadvantage is the unnatural formulation for dependency

- perimeterNode -> areaNode

where the area of a circle is expressed of a function of its perimeter, rather than of its radius.

Remark: HExtensionView will cause its cell in the grid to be annexated by the view to the left of it. So in effect appending a sequence of HExtensionViews to a view will extend that view to the right.