Actually I am just trying to trigger gmane picking up cells-devel.
Meanwhile, over on the SoC PyCells project they a feedfest started as everyone tore the algorithm apart (and started their own version of Cells). The group decided Cells was OK.
Oh, yeah. I finally fixed defclass. There is now an abbreviated defmodel, DEFMD:
(defmd defmd-test (md-test-super) (aaa :cell nil :initform nil :initarg :aaa :accessor aaa) ;; defmd would have written the same on just "aaa" (aa2 :documentation "hi mom") ;; expands into all-the-above bbb ;; same as aaa (ccc 42 :allocation :class) ;; if second arg is not slot def keyword, it is an :initform. (ddd (c-in nil) :cell :ephemeral) :superx 42 ;; default-initarg (:documentation "as if!"))
kt
On 6/23/06, Ken Tilton kentilton@gmail.com wrote:
Oh, yeah. I finally fixed defclass. There is now an abbreviated defmodel, DEFMD:
(defmd defmd-test (md-test-super) (aaa :cell nil :initform nil :initarg :aaa :accessor aaa) ;; defmd would have written the same on just "aaa"
FIXED?!?!
Aren't a lot of problems with Cells traceable to using :cell nil, because either someone thought "okay this one is an exception" or as an efficiency hack? Certainly accidentally non-Cell slots have caused me no end of grief when I run into them.
I've gotten to the point of viewing :cell nil as a hack that's occasionally necessary when either (a) I'm not able to fit some behavior into the Cells model, or (b) the Cells model turns out to have a shortcomming that needs to be fixed, but in the meantime we have a work-around. Given that, I'm not supporting :cell nil at all in C4 (and C4-other-lisps); you can get the same effect by putting the slots in a defclass and using it as a mixin, and that way you won't be under any illusions that what you're doing is generally a good idea.
On 6/23/06, Thomas F. Burdick tfb@ocf.berkeley.edu wrote:
On 6/23/06, Ken Tilton kentilton@gmail.com wrote:
Oh, yeah. I finally fixed defclass. There is now an abbreviated
defmodel,
DEFMD:
(defmd defmd-test (md-test-super) (aaa :cell nil :initform nil :initarg :aaa :accessor aaa) ;; defmd
would
have written the same on just "aaa"
FIXED?!?!
Aren't a lot of problems with Cells traceable to using :cell nil,
Wouldn't know; never use it. :)
Well, I found a few. The keyboard accelerator for a widget. God help the user if those start changing according to program state. Also a cache of the window at the top of the gui hierarchy. It's a pretty quick trip up the tree to do that functionally, but why not save the result? Make it a cell and it has to be an input, dependencies pop up all over.
because either someone thought "okay this one is an exception" or as
an efficiency hack? Certainly accidentally non-Cell slots have caused me no end of grief when I run into them.
Amazing. I never had a problem. What happens is that I finally try to apply a cell to one and the internals say, "what are you doing? I see a cell initializer for a non-cell slot." (Not sure that safeguard is still in there tho.)
To the extent my bet was correct ("who would ever want to use a cell for /this/?!") the risk of accidentally trying to use a cell goes down commensurately.
I've gotten to the point of viewing :cell nil as a hack that's
occasionally necessary when either (a) I'm not able to fit some behavior into the Cells model, or (b) the Cells model turns out to have a shortcomming that needs to be fixed, but in the meantime we have a work-around. Given that, I'm not supporting :cell nil at all in C4 (and C4-other-lisps);
Question: do you even /look/ at Cells code any more?
Phillip Eby over on PyCells is now fleshing out his dataflow package, and we unearthed another Pythonista who had some DF code but got motivated by Cells to formalize it into a proper package.
My other question: what do we call the annual conference, and where do we hold it? Dataflow 2007? Gotta get the KR and COSI people, too. I propose not having any talks, so there is more time for drinking. Maybe we could label the clusters of drinkers as to the dataflow topic they happen to be on. Need some electronic signage....
kt