[cells-devel] CVS Clean-up

Kenny Tilton ktilton at nyc.rr.com
Sat May 7 18:56:46 UTC 2005


OK, the Cells CVS repository has been cleaned up and I am on the verge 
of making my first changes to Cells, so (a) beware and (b) anyone with a 
standalone tarball will soon be diverging from the official code.

My first change will be an oddity: ephemeral cells, when reset, do not 
get the corresponding slot value reset. I have not made this change yet, 
so maybe it was that way for a reason? Hard to imagine.

Second will be repairing the damage done to Synapses. Well, overall the 
change was good, it just broke Synapses. I am starting to see how the 
same change done properly will simplify Cells a little:

Synapses always had two rules: should I fire, and what value should I 
pass along? Normal Cells only had the "what value?" rule, with a 
hard-coded (kinda) test "has it changed?" to decide whether or not to 
fire. The default changed test EQL could be overridden, but that was it.

In the change that broke Synapses, I simply eliminated Synapses as a 
separate data structure and implemented them with Cell structures, the 
fire test and value rules being combined in one lambda for the Cell 
value rule. Goofy mistake since the standard Cell was still being 
controlled by the "unchanged" rule.

So the Deep Fix will be to meet half-way, and now enhance standard Cells 
to work like Synapses, by moving the "unchanged" test into a "fire?" 
mechanism. This is not the unification of Gravity with Electromagnetism, 
but it should simplify the code some.

It should also take quite a few days, especially since I realize I 
better get to work on the regression test suite.

kt

-- 
Cells? Cello?: http://www.common-lisp.net/project/cells/
Cells-Gtk?: http://www.common-lisp.net/project/cells-gtk/
Why Lisp? http://lisp.tech.coop/RtL%20Highlight%20Film

"Doctor, I wrestled with reality for forty years, and I am happy to state that I finally won out over it." -- Elwood P. Dowd





More information about the cells-devel mailing list