From: Dan Kuchler <kuchler@aj...> - 2000-10-29 20:41:40
John Ousterhout wrote:
> After I sent my message last night I had the same thought myself. If
> we bundle [incr Tcl], it should just become part of the core: there
> should be no need to say "package require ..." to get the "class"
I guess this raises a number of questions as to how itcl will
be introduced into the core (in my mind).
While I have been pretty strongly opposed to moving itcl into
the core as a package, I would not necessarily be opposed to
adding the functionality provided by itcl into the core.
There is more to be considered than just the class command,
The itcl package (3.2) contains the following commands:
body, class, code, configbody, delete, ensemble, find, local,
I think that some of these commands might fit better under
existing tcl commands. Since I am still fairly new to itcl
please correct me where I am wrong.
I can't find any differences between the 'body' command and
the 'proc' command, other than that body defines the body of
an itcl method. Can the logic to determine whether a the
namespace is a class or not be moved into the proc command,
so that 'proc' can be used to declare all procs outside of the
class? There is one notable difference which is the special
'@' characteristics of the body command.
I also think it would be nice if the 'find' command was
replaced by 'info classes' and 'info objects' which seems
like it would fit nicely with 'info commands', 'info vars',
'info globals', etc.
It also seems like the 'scope' command could fit under
'info scope', however the '@itcl' portion of it is a little
confusing to me.
With these changes the list of new commands added would
be: class, delete, ensemble, and local.
The biggest argument I think that will be made against
any of these changes would be the "backward compatibility"
I would like to try to address that as well.
Additionally, I believe there are a number of Itcl_ C APIs
currently. How would these be integrated into the core.
What would they be named, which would be public, etc.
Jim Igham wrote:
> 2) No (though we will have to make package require Itcl
> work for compatibility
I think that the problem of backward compatibility could
be handled through a tcl-only package named Itcl that would
cause the itcl:: commands to be redirected to the tcl core
equivalent of those commands. This Itcl package could then
be distributed as a 'backward compatibility' for itcl
I think it is most important for anything to be added to
the main core, that it be added in a clean way that is
also consistent with the existing commands.
I think it is also important to keep the set of global/core
commands smaller where it makes sense and can be done in
a reasonable way.
It may be too early to carry on these sorts of discussions
(perhaps the vote should happen first), although it is still
a little unclear to me how much/little of the implementation
needs to be specified in the TIP before it can be voted on.
The TclCore mailing list is sponsored by Ajuba Solutions
To unsubscribe: email tclcore-request@... with the
word UNSUBSCRIBE as the subject.