From: Hidetoshi NAGAI Date: 2004-08-03T15:53:46+09:00 Subject: Re: Why does Ruby use both tcl83.dll and tk83.dll (instead of just tk83.dll)? Hi, From: "H. Simpson" 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: > 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)