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 <cgree...@gmail.com> wrote:

> On Wed, Dec 18, 2013 at 10:45 PM, Micha Niskin <micha.nis...@gmail.com>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 clojure@googlegroups.com
>
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
>
> 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
> clojure+unsubscr...@googlegroups.com.
> 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 clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
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 clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to