As other people using snit will probably agree, this is a very
well designed and nice to use oo framework in tcl. But is is VERY
slow.
Now that tcl8.6 is nearly ready and it contains tcloo, I seem to
remember that the original idea was that frameworks like snit could be
reimplemented on top of tcloo. So, without changing the syntax it
would achieve much more speed. Is this idea still valid? Are there
plans to do this reimplementation in snit? If yes, short, middle or
long term plans?
Or maybe, are we advised to drop snit and go to tcloo?
If your needs are very simple, sure.
Donal.
As far as I am aware, that idea is still valid.
> Are there
> plans to do this reimplementation in snit? If yes, short, middle or
> long term plans?
>
I don't know if the Snit author reads comp.lang.tcl or not. However, I
notice over on http://wiki.tcl.tk/3963 a mention of a) a mailing list
concerning Snit, and b) iGloo, which seems to me to be an effort to
reengineer Snit to use TclOO. Perhaps there are some useful tidbits of
info there.
... and if my needs are not so simple and I have lots of snit legacy
code, what is the recommended way for proceeding? The final objective
is to strongly reduce the startup time of a medium-big tcl project
based on snit.
The "iGloo" project is pretty much defunct. At this point, TclOO
lacks two things that Snit needs: hierarchical methods (methods with
subcommands, like the text widget's tag command), and direct support
for configure/cget options. Of the two, hierarchical methods are the
more critical...but Donal's been working on that.
It's not clear to me why Snit is so slow at creating widgets (which is
really the sticking point); if anyone would like to look into it, I'd
be glad of the help.
Ultimately, I expect that TclOO will mature to the point that Snit is
unnecessary, or Snit 3 will be built on TclOO. Unfortunately, as I
said in another post, I really need support for hierarchical methods,
and it's not there in TclOO yet.
And I'd say that's on the TclOO roadmap, but won't be done for 8.6
because I'm sort of time/effort (what I have, I use for general Tcl/Tk
bugfixing).
Donal.
And I want to be *very* clear to everyone that I am not criticizing
Donal or his efforts. Instead, I'm trying to excuse my own
inactivity. :-)