Hi,
Why does Ruby (on windows) use both tcl83.dll and tk83.dll (instead of just tk83.dll)?
Does tk require tcl? I thought tk was simply a c api...
Thanks.
Hi,
Why does Ruby (on windows) use both tcl83.dll and tk83.dll (instead of just tk83.dll)?
Does tk require tcl? I thought tk was simply a c api...
Thanks.
H. Simpson wrote:
Does tk require tcl?
Absolutely. Tk operations and events are scripted in Tcl.
Look for a 'Scripts' directory under your Tk installation.
Much of the behaviour of buttons, listboxes, menus, and dialogs
is done with Tcl.
I thought tk was simply a c api...
It very well may be... for Tcl!
Mike Hall wrote:
H. Simpson wrote:
Does tk require tcl?
Absolutely. Tk operations and events are scripted in Tcl.
Look for a 'Scripts' directory under your Tk installation.
Much of the behaviour of buttons, listboxes, menus, and dialogs
is done with Tcl.I thought tk was simply a c api...
It very well may be... for Tcl!
Seems that perl-tk somehow removed the Tcl part of Tk.
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.
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)
Hidetoshi NAGAI wrote:
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.
I see! Thanks for explaining. The BWidgets look really nice so I'm glad you took that approach rather than something like ptk.