Fwd: [cells-devel] How to delay evaluation of defobserver?

Ken Tilton kentilton at gmail.com
Wed May 9 22:03:51 UTC 2007


[Sorry if folks have seen this before, but I haven't, so not sure what is
going on. - kt]

---------- Forwarded message ----------
From: Ken Tilton <kentilton at gmail.com>
Date: May 9, 2007 5:12 PM
Subject: Re: [cells-devel] How to delay evaluation of defobserver?
To: Josip Gracin <gracin at tel.fer.hr>

Not sure what is going on. I sent this to the list and you earlier from
another mail account and apparently neither got thru. Trying again direct
from google mail. Saw your second note. Nah, I would do anything with load
order. But this is a design question, which means it cannot be answered in
the abstract (which is what I cover below). kt

Josip Gracin wrote:

Hello!

I've successfully ported my application from cells2.0 to Cells3.  Cells3
looks very nice indeed.  When needed, I've used c_? to delay evaluation and
it worked great.  However, I also have some observers defined with
defobserver and I'd like them to be lazily evaluated because they depend on
some not-yet-created instances.  Is there a way to do this?


You might have to provide an example, distilled from your application if the
whole thing would be too much. Are you saying obersvers are getting called
even before the lazy cell got kicked off? Or do you mean, OK, the lazy cell
gets kicked off when expected, but now I further want to defer the observer
running? Or is this unrelated to lazy cells? ie, You have a normal cell but
you want the observer deferred? But then, OK, how do you indicate when the
laziness ends and the observer should fire? Presumably you want a rule X
that terminates laziness and activates an observer. If so, you could just
code up:

 (defobserver .....
     (when X ;; in your case, (fm-includes self <whavtever>)
          <stuff that depends on whatever>))

Depending on the design, you might also consider having a Cell that says
"OK, now the model has reached this state", part of which is determined by
these other instances coming into existence. Then you either hang your
observer off that new state variable or check that state variable in the
observer.

kt




-- 
Ken Tilton                   Theory Y Learning
ken at theoryyalgebra.com
2112 Baileys Corner Rd   http://www.theoryyalgebra.com     Wall, NJ
07719           732-359-6038 | 646-269-1077 (m)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cells-devel/attachments/20070509/11876cae/attachment.html>


More information about the cells-devel mailing list