[PyCells] [cells-devel] Call for comment on Prospect of Lazy Cells Not Propagating Either

Ken Tilton kentilton at gmail.com
Wed Sep 13 08:25:28 UTC 2006


On 9/12/06, Michael Naunton <michael at naunton.us> wrote:
>
> On Mon, 2006-09-11 at 15:33 -0400, Ken Tilton wrote:
> > kt wrote:
> >
> >          If A is eager and depends on B and A has an observer that
> >         really really wants to stay on top of reality....
> >
> > I just had Cells4 kinda thought: what if all Cells are (in some new
> > respect) lazy unless observed (directly or indirectly thru someone
> > that is observed)?
>
> I was using Cells4 today :)
>
> So, all cells are lazy.  Check.
> Unless observed.  Check.
>   Observed = I ask for a cells value explicitly (in which case it is
>              transiently observed,) or a GUI, etc, subscribes to it.


I do not know about your C4, but no: Observation is not reading. Observation
is an explicit declaration that one needs certain code to run when a cell
changes value, and these explicit declarations are needed because the cells
engine runs around changing values willy-nilly so there is no way for a
programmer to handle those changes unless we create a mechanism dedicated to
that express purpose. aka "observing". But we really need these observers to
run. An observer might propagate the state "stop!!!" to an anti-lock brake
system (via its own API).

 We have other code that reads Cells inside Cell rules and outside them in
imperative code kicked off, say, by OS events. Imperative code (again,
event-handlers are an example) reads what it reads. Cells guarantees they
will get accurate "current" values. But there is no need for a Cell to
ensure (and in fact it would be inappropriate) such event-handling code runs
because some cell-mediated state gets read during event handling. Reads from
Cell rules are not interesting to rerun until somehow somewhwere we come to
an Observer trying to stop a car or launch a missile or whatever.

kt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cells-devel/attachments/20060913/13db8b2d/attachment.html>


More information about the cells-devel mailing list