"Konovalov, Vadim Vladimirovich (Vadim)** CTR **" <[EMAIL PROTECTED]> writes:

> In my needs to reduce number of dependant modules, I came into "use overload" 
> line.
> Why its here?

So that objects passed from the Tcl side behave the same on the Perl
side regardless if they happen to be true list objects or just
strings.  The Tcl APIs are now always consistent here, since Tcl
itself will convert as needed based on usage.

> its used in following lines:
> 
> =====
> package Tcl::List;
> 
> use overload '""' => \&as_string,
>              fallback => 1;
> 
> package Tcl::Var;
> ....
> ====
> 
> It unfortunate because its usage slurps other 4 modules:

I don't think this matters at all.  No real perl program will avoid
loading of these modules even if Tcl didn't.

> Carp.pm=>e:/perl584/lib/Carp.pm
> Exporter.pm=>e:/perl584/lib/Exporter.pm
> overload.pm=>e:/perl584/lib/overload.pm
> warnings.pm=>e:/perl584/lib/warnings.pm
> warnings/register.pm=>e:/perl584/lib/warnings/register.pm
> 
> Do Tkx need it?

I don't know if Tkx needs it by itself, but I'm sure there are
applications based on Tkx that do.

> BTW I noticed that replacing "use DynaLoader" to "use XSLoader" is
> win-win sutiation, because all we need is to load Tcl.dll, which do
> not require heavy-load of DynaLoader.

XSLoader is a good thing.

--Gisle

Reply via email to