Gisle Aas wrote: > On Sep 2, 2009, at 17:00 , Michael Carman wrote: >> I think the Tkx documentation should mention [Tkx::eval] directly. > > I'm not sure what makes 'eval' special enough to list it explicitly > in the docs.
It's a discoverability thing. I think Tkx::eval() is special because there's a qualitative difference between knowing that you can call arbitrary Tcl functions and knowing that you can execute arbitrary Tcl code. You seem to be under the impression that people who use Tkx know Tcl. I'd wager that most people don't know any. I certainly didn't when I picked up Tkx and I only know a tiny bit more now. I think most users are transitioning from Perl/Tk. Some probably haven't even used that. Most of my early days were spent trying to find the pattern between how I'd write something in Perl/Tk and how I had to do it Tkx without really understanding Tcl. That was useful in a way, but it was also problematic as some of the things I attempted to map were added by Perl and don't exist in Tcl. e.g. the support for ClassInit() that I'm playing with now. :D To be honest, I didn't know that Tcl even had an eval function until Vadim said that he couldn't find Tkx::eval() in the docs and I starting looking through the source. I was surprised when I didn't find sub eval { $interp->call(@_) } somewhere in Tkx.pm. It took me a little while to put the pieces together. > There might be a place in the Tkx tutorial to talk about these in > detail. That's better than nothing, but I think this is important enough to put it in the main documentation. I read the tutorial when I first started using Tkx but never really looked at it afterward. By the time I would have needed eval I would have forgotten having ever read about it. -mjc