From: Ken Tilton
Subject: New Cells3 and Celtk
Date: 
Message-ID: <0nhUf.21$pe2.3@fe09.lga>
Now in CVS:

    http://common-lisp.net/cgi-bin/viewcvs.cgi/?root=cells#dirlist

You want modules Cells and Celtk.

Celtk (Tk, that is) necessitated what turned out to be a nice 
enhancement to Cells (informally known as Cells3) providing (a) much 
more predictable/understandility of state change propagation and (b) 
explicit control by client code of client-specifed propagation. That 
does not naturally arise from a declarative paradigm like Cells.

Tk needs things to be done in a certain order (it needs (a) late-binding 
and (b) Cells) so I had to support client control over those things. I 
could see this coming up again so I did not mind, plus LTk looks like a 
nice platform for my next project.

For those of you who wonder what Cells is about, Celtk includes not just 
my everything-but-the-kitchen-sink demo, but also a recreation under the 
Cells paradigm of the pure-Ltk ltktest demo. Compare and contrast to 
grok Cells.

The latter will be easier in six-ten hours after I go through 
ltktest-cells-inside.lisp commenting furiously to explain to someone 
familiar with LTk how my version works.


-- 
Cells: http://common-lisp.net/project/cells/

"And I will know my song well before I start singing."  - Bob Dylan

From: Ken Tilton
Subject: Re: New Cells3 and Celtk
Date: 
Message-ID: <NMhUf.70$q05.22@fe12.lga>
Ken Tilton wrote:
> Now in CVS:
> 
>    http://common-lisp.net/cgi-bin/viewcvs.cgi/?root=cells#dirlist
> 
> You want modules Cells and Celtk.
> 
> Celtk (Tk, that is) necessitated what turned out to be a nice 
> enhancement to Cells (informally known as Cells3) providing (a) much 
> more predictable/understandility of state change propagation and (b) 
> explicit control by client code of client-specifed propagation. That 
> does not naturally arise from a declarative paradigm like Cells.
> 
> Tk needs things to be done in a certain order (it needs (a) late-binding 
> and (b) Cells) so I had to support client control over those things. I 
> could see this coming up again so I did not mind, plus LTk looks like a 
> nice platform for my next project.
> 
> For those of you who wonder what Cells is about, Celtk includes not just 
> my everything-but-the-kitchen-sink demo, but also a recreation under the 
> Cells paradigm of the pure-Ltk ltktest demo. Compare and contrast to 
> grok Cells.
> 
> The latter will be easier in six-ten hours after I go through 
> ltktest-cells-inside.lisp commenting furiously to explain to someone 
> familiar with LTk how my version works.
> 
> 

I forgot to mention that for some reason both versions of the ltktest 
demo run at glacial speed (well, on one of the stupid pet tricks) on 
Lispworks. Mystery as yet unresolved. otoh, the CVS repository includes 
project manager files (.LPR) for AllegroCL/win32. The demo runs fine 
there. Go figger. Anyway, if someone is on win32, the easiest way to 
check this stuff out is grab the ACL trial, adjust paths in the Cells, 
Utils-kt, and Celtk.lpr's (they are text files) and away you go. Or 
create c:\0dev and unpack Cells and Celtk there and the paths should be OK.

ken

-- 
Cells: http://common-lisp.net/project/cells/

"And I will know my song well before I start singing."  - Bob Dylan
From: Raffael Cavallaro
Subject: Re: New Cells3 and Celtk
Date: 
Message-ID: <2006032215030975249-raffaelcavallaro@pasdespamsilvousplaitmaccom>
On 2006-03-22 14:15:08 -0500, Ken Tilton <·········@gmail.com> said:

> You want modules Cells and Celtk.

asdf seems to want a file at cells/utils-kt/datetime.lisp which is not 
in the cells tarball (though other files in utils-kt are).
From: Ken Tilton
Subject: Re: New Cells3 and Celtk
Date: 
Message-ID: <qDiUf.77$q05.74@fe12.lga>
Raffael Cavallaro wrote:
> On 2006-03-22 14:15:08 -0500, Ken Tilton <·········@gmail.com> said:
> 
>> You want modules Cells and Celtk.
> 
> 
> asdf seems to want a file at cells/utils-kt/datetime.lisp which is not 
> in the cells tarball (though other files in utils-kt are).
> 

OK, it is there now. Thx. I will also commit in a few seconds (and do so 
as the day wears on) the ongoing doc in ltktest-cells-inside.lisp, so 
keep updating.

ken

-- 
Cells: http://common-lisp.net/project/cells/

"And I will know my song well before I start singing."  - Bob Dylan
From: justinhj
Subject: Re: New Cells3 and Celtk
Date: 
Message-ID: <1143143610.360364.194560@g10g2000cwb.googlegroups.com>
Ken Tilton wrote:
> OK, it is there now. Thx. I will also commit in a few seconds (and do so
> as the day wears on) the ongoing doc in ltktest-cells-inside.lisp, so
> keep updating.
>
> ken


I finally got around to checking cells out. I've been able to load the
cells asdf and thought I would start with your reference to Bill
Clementson's blog entry at

http://bc.tech.coop/blog/030911.html

Well so far so good but on evaluating the two things below I get an
error . Can you tell what I'm doing wrong at this point?

Syntactic error in form (#1=(SELF MOTOR)):
   Illegal function name #1#.
   [Condition of type SIMPLE-ERROR]

Restarts:
  0: [ABORT-REQUEST] Abort handling SLIME request.
  1: [ABORT] Quit process.

Backtrace:
  0: CONDITIONS::CONDITIONS-ERROR (:INVISIBLEP T "Syntactic error in ~A
~S:~%   ~?" ("form" (#1=(SELF MOTOR)) "Illegal function name ~S."
(#1#)))
  1: LEXICAL::LEX-CALL (((SELF MOTOR)))


(defmodel motor ()
  ((status :cell t :initarg :status :accessor status :initform nil)
   (fuel-pump :cell t :initarg :fuel-pump :accessor fuel-pump
              :initform (c? (ecase (^status) (:on :open) (:off
:closed))))
   (temp :cell t :initarg :temp :accessor temp :initform (cv 0))))

(def-c-echo status ((self motor))
  (trc "motor status changing from" old-value :to new-value))


Justin
From: Ken Tilton
Subject: Re: New Cells3 and Celtk
Date: 
Message-ID: <5bDUf.259$JI2.66@fe10.lga>
justinhj wrote:
> Ken Tilton wrote:
> 
>>OK, it is there now. Thx. I will also commit in a few seconds (and do so
>>as the day wears on) the ongoing doc in ltktest-cells-inside.lisp, so
>>keep updating.
>>
>>ken
> 
> 
> 
> I finally got around to checking cells out. I've been able to load the
> cells asdf and thought I would start with your reference to Bill
> Clementson's blog entry at
> 
> http://bc.tech.coop/blog/030911.html

I have update Bill's code to be compatible with Cells3, and will Bill's 
kind consent added that to the Cells distro. Look for 
motor-control.lisp. It also contains the text from the blog so you can 
read along as you execute the code in steps.

ken

> 
> Well so far so good but on evaluating the two things below I get an
> error . Can you tell what I'm doing wrong at this point?
> 
> Syntactic error in form (#1=(SELF MOTOR)):
>    Illegal function name #1#.
>    [Condition of type SIMPLE-ERROR]
> 
> Restarts:
>   0: [ABORT-REQUEST] Abort handling SLIME request.
>   1: [ABORT] Quit process.
> 
> Backtrace:
>   0: CONDITIONS::CONDITIONS-ERROR (:INVISIBLEP T "Syntactic error in ~A
> ~S:~%   ~?" ("form" (#1=(SELF MOTOR)) "Illegal function name ~S."
> (#1#)))
>   1: LEXICAL::LEX-CALL (((SELF MOTOR)))
> 
> 
> (defmodel motor ()
>   ((status :cell t :initarg :status :accessor status :initform nil)
>    (fuel-pump :cell t :initarg :fuel-pump :accessor fuel-pump
>               :initform (c? (ecase (^status) (:on :open) (:off
> :closed))))
>    (temp :cell t :initarg :temp :accessor temp :initform (cv 0))))
> 
> (def-c-echo status ((self motor))
>   (trc "motor status changing from" old-value :to new-value))
> 
> 
> Justin
> 


-- 
Cells: http://common-lisp.net/project/cells/

"And I will know my song well before I start singing."  - Bob Dylan
From: justinhj
Subject: Re: New Cells3 and Celtk
Date: 
Message-ID: <1143145725.286250.286430@e56g2000cwe.googlegroups.com>
Ken Tilton wrote:
> I have update Bill's code to be compatible with Cells3, and will Bill's
> kind consent added that to the Cells distro. Look for
> motor-control.lisp. It also contains the text from the blog so you can
> read along as you execute the code in steps.

Ah it was just a compatibility problem.

Cool it's working now thanks! Looks like fun stuff.

Justin
From: Ken Tilton
Subject: Re: New Cells3 and Celtk
Date: 
Message-ID: <i3EUf.75$t06.32@fe12.lga>
justinhj wrote:
> Ken Tilton wrote:
> 
>>I have update Bill's code to be compatible with Cells3, and will Bill's
>>kind consent added that to the Cells distro. Look for
>>motor-control.lisp. It also contains the text from the blog so you can
>>read along as you execute the code in steps.
> 
> 
> Ah it was just a compatibility problem.
> 
> Cool it's working now thanks!

coolio.

> Looks like fun stuff.

Check out Celtk, it is a good Cells demo (and TCL/Tk comes with an 
installer on win32, maybe others, so setup is pretty easy). Anyway, at 
the last second I extended the demo from Ltk to have a few stupid Cells 
ticks that are more real-worldy than some of the forced examples in the 
Cells test suite.

kt


-- 
Cells: http://common-lisp.net/project/cells/

"And I will know my song well before I start singing."  - Bob Dylan