Hi, 

From: "H. Simpson" <nospam / asdlkfjhasldkjfsadlfhskadjfahsldfks.com>
Subject: Re: Why does Ruby use both tcl83.dll and tk83.dll (instead of just tk83.dll)?
Date: Tue, 3 Aug 2004 12:21:34 +0900
Message-ID: <jqDPc.2438$hI.751970 / newssvr28.news.prodigy.com>
> Seems that perl-tk somehow removed the Tcl part of Tk.

That is a 'ptk' library. It's similar but NOT same as a 'Tk' 
library, I think. If linking 'ptk', it should be called 'Ruby/ptk'. 

# I never oppose the creation of 'Ruby/ptk'.

> Hmmm.  The compiled part of that project might be useful for other 
> languages (like c/c++ or Ruby) to directly use Tk without the 
> overhead+benefits of Tcl.

I think the overhead is not serious, because almost all part of
Ruby/Tk don't depend on Tcl's command line parser. 
Maybe, the cost for converting Ruby/Tk's arguments to Tcl/Tk's 
arguments is heavier than the overhead. 
If you cannot accept the cost, you can bypass the converting step
in the bottle neck part (Please check ext/tcltklib/demo/lines?.rb).

I hate losing the benefits rather than accepting the overhead. 
I'm advocating that the merits of using pure Tcl/Tk libraries are 

 (1) you can use the newest features at the same time of the new 
     Tcl/Tk release, and 

 (2) you can use almost all of Tcl/Tk extensions under Ruby/Tk. 

By this reason, I'll not replace Tcl/Tk libraries to ptk libraries. 

To receive the second merit, Ruby 1.8.2 includes the wrapper libraries
for some Tcl/Tk extensions (e.g. Tcllib, IWidgets, BWidgets, TkTable, 
vu, and so on; see ext/tk/lib/tkextlib/SUPPORT_STATUS). Of course, 
to use those libraries, those extensions must work on your Tcl/Tk. 

However, many of current target extensions of the wrappers are 
included the ActiveTcl binary package (see http://www.tcl.tk/ and 
http://www.activestate.com/Products/ActiveTcl/). 
If your tcltklib.so is compiled with libraries of the ActiveTcl
package, you can use those extensions (charts, tables, calendar, 
tree, tab-note, and so on) with those wrappers. 
-- 
                                  Hidetoshi NAGAI (nagai / ai.kyutech.ac.jp)