Topological sorting of dependencies depends on the dependency graph being a directed acyclic graph (DAG). In practice, a program may define a dependency graph that has cycles. Usually, reactive programming languages expect such cycles to be "broken" by placing some element along a "back edge" to permit reactive updating to terminate. Typically, languages provide an operator like codice_11 that is used by the update mechanism for this purpose, since a codice_11 implies that what follows must be evaluated in the "next time step" (allowing the current evaluation to terminate).