I agree, most Tkx users like myself transitioned from Perl/Tk and know little or no Tcl.

----- Original Message ----- From: "Michael Carman" <mjcar...@mchsi.com>
To: "Gisle Aas" <gi...@activestate.com>
Cc: "Konovalov, Vadim (Vadim)** CTR **" <vkonova...@alcatel-lucent.com>; "tcltk" <tcltk@perl.org>
Sent: Wednesday, September 02, 2009 9:40 PM
Subject: Re: Are multiple mainwindows possible?


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


Reply via email to