From: Dan K. <ku...@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" > command. 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, however. The itcl package (3.2) contains the following commands: body, class, code, configbody, delete, ensemble, find, local, and scope 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. body ---- 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. find ---- 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. scope ----- 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" argument. 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 solution. 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. --Dan -- The TclCore mailing list is sponsored by Ajuba Solutions To unsubscribe: email tcl...@aj... with the word UNSUBSCRIBE as the subject. |