If formula cells have circular dependencies then you have an infinite loop at runtime. It's not really a problem when making real applications, though, at least for me. The spreadsheet model simplifies things enough that there really aren't any surprises; it's very clear what's happening in the state machine, so it's not like there is a problem with inadvertently introducing circular deps.
-- Micha Niskin On Wed, Dec 18, 2013 at 11:40 PM, Cedric Greevey <[email protected]> wrote: > On Wed, Dec 18, 2013 at 10:45 PM, Micha Niskin <[email protected]>wrote: > >> The difference between a cell and an atom with watchers attached is that >> cells guarantee consistency. That is to say that the evaluation mechanism >> ensures that a formula cell is never updated until all of the cells it >> depends on have been updated, that the formula is evaluated at most one >> time, and that the cell's formula is evaluated only when the value of a >> cell it depends on has changed. A cool property here is that the entire >> graph of cells updates atomically and consistently, even though the >> individual cells are updating themselves one at a time. The consistency >> guarantee ensures that each cell sees the world as if it updates >> atomically; no cell can ever see other cells in a half-evaluated state; >> each cell acts as if it were the last cell to update. You can think of the >> entire graph as a single value. >> > > What happens if the formula cells have circular dependencies? > > -- > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to [email protected] > > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > [email protected] > > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to a topic in the > Google Groups "Clojure" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/clojure/gRFyzvRfPa8/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
