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
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
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).
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
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
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
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
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