Purpose: talk about the interface and interaction between [Tcl] and [TclX], and the best way for them to evolve into the future. ---- [R. T. Wurth] finds [loop], [commandloop], [keyed list]s, [cmdtrace], [edprocs], [profile], [lvarpush], [system], and set and string operations indispensable. ---- Is it better to 1. gut everything useful from tclx, move it into tcl core, and leave tclx a hollow/compatibility shell? 2. move useful stuff to tcl core, leave tclx a compatibility extension and a proving/testing ground for new and out-there features? (The two sub-goals are mutually exclusive, really, because you can't be both compatible and a place for new stuff) 3. leave tclx exactly as it is and not steal functionality? (I don't think this is really viable) 4. roll much of the tclx functionality into a loadable module which is part of tcl core? 5. some other alternative, suggest ... ---- [CMcC]: One option, I've been thinking about is gutting TclX and moving some of the more useful functionality into tcl core. To that end, here are some think-pages: * [tclx file commands for core] * [tclx signal commands for core] * [tclx system control commands for core] The most frequent request is to move the TclX signal handling commands into Tcl. TclX is a grab-bag of useful functionality, a proving ground for new/nice facilities. They should be handled independently, so I have three categories. Another suggestion that's been made in the past is to create an extension that provides Tcl bindings for the most useful Posix functions. [DKF]: Useful Posix stuff (to me) has been: all the [signal] stuff, [fork]/[execl], [id] and [times]. YMMV. :^) ---- [Andreas Otto]: (23 may 2004) I ported tclx to 8.4.6 the current state of tclx : * build on Mac OS X, Linux (Unix) and Windows (SFU) with '''all''' features * ''all'' test-cases are now tcltest 2.2 ready * the tclx shell ''tcl'' now uses the ''tclsh'' setup * the ''configure'' is now Windows (SFU) ready * the very limited win32 support is now fully gone -> use Windows (SFU) the future of tclx: * this release (8.4.6) is the last traditional tclx release * the next release will split the different features of tclx into sparat extensions under the roof of tclx * tclx will be the startingpoint for something like binary tcllib future tclx extensions: * POSIX (collection of all POSIX commands) * signal (signal handling) * ... [CMcC]: Oh! I've been charging along trying to gut tclx, and not aware of your work, Andreas. I'd like to see a lot more of tclx's functionality incorporated into core tcl, because a lot of it is very useful, and the hassle of making an extension is probably beyond a lot of newbie tclers. ---- [http://b27.zhiliaotuofa.com 充电器][http://c128.voip99.net 面料][http://c129.voip99.net ][http://c48.voip99.net 读卡器][http://w25.voip99.net 切割机][http://w26.voip99.net 深圳印刷][http://w29.voip99.net ][http://c77.voip99.net 抛丸机][http://c78.voip99.net 制罐][http://c87.voip99.net 木工机械][http://c88.voip99.net 物流设备][http://c89.voip99.net ][http://c91.voip99.net 吸塑机][http://c92.voip99.net 毛毡][http://c93.voip99.net 交通设施][http://c94.voip99.net 压滤机][http://c95.voip99.net ][http://c134.voip99.net ][http://b100.zhiliaotuofa.com 铝箔][http://c01.voip99.net ][http://b51.zhiliaotuofa.com 吹塑机][http://b52.zhiliaotuofa.com 喷涂][http://b53.zhiliaotuofa.com 喷涂设备][http://c34.voip99.net ][http://a28.voip99.com 风水][http://a29.voip99.com 密封胶][http://a30.voip99.com 胶粘][http://a31.voip99.com 吸尘器][http://a32.voip99.com 消毒柜][http://a33.voip99.com 货架][http://a34.voip99.com 展架][http://aaa17.zhiliaotuofa.com ][http://a80.voip99.com 印花机][http://a81.voip99.com 金刚石][http://a82.voip99.com 陶瓷][http://c34.voip99.net 钢板][http://c35.voip99.net ][http://c129.voip99.net 拉链][http://c130.voip99.net 自动门][http://c131.voip99.net 自吸泵][http://c132.voip99.net 容器][http://c133.voip99.net 软管][http://c138.voip99.net ][http://a93.voip99.com 温度仪表][http://a94.voip99.com 仪表][http://a95.voip99.com ][http://b40.zhiliaotuofa.com 催化剂][http://b41.zhiliaotuofa.com 化学试剂][http://b46.zhiliaotuofa.com 胶粘剂][http://b47.zhiliaotuofa.com 染料][http://b55.zhiliaotuofa.com ][http://a83.voip99.com 注塑机][http://a84.voip99.com 造粒机][http://w31.voip99.net IP超市计费系统][http://w46.voip99.net ][http://c33.voip99.net 纺织机械][http://c34.voip99.net ][http://a05.voip99.com 液位计][http://a06.voip99.com 插座][http://a07.voip99.com 体育用品][http://a08.voip99.com 服务器][http://www35.voip99.com 继电器][http://w12.voip99.net 紧固件][http://w13.voip99.net 制服][http://w14.voip99.net 健身器材][http://w15.voip99.net 太阳能热水器][http://w16.voip99.net 婚纱摄影][http://w17.voip99.net ][http://aaa01.zhiliaotuofa.com 包装设计][http://aaa02.zhiliaotuofa.com ][http://aaa04.zhiliaotuofa.com 电话变声器][http://w29.voip99.net 照排机][http://w30.voip99.net 餐具][http://w31.voip99.net ][http://mudiban.voip99.net 实木地板][http://qianzheng.voip99.com ][http://c31.voip99.net 手套][http://c32.voip99.net 防水材料][http://qianzheng.voip99.com 签证][http://kaoqinji.voip99.com ][http://www46.voip99.com 反光材料][http://www47.voip99.com 打标机][http://www48.voip99.com 温湿度计][http://www49.voip99.com ][http://aaa14.zhiliaotuofa.com 实验室设备][http://aaa15.zhiliaotuofa.com 玻璃器皿][http://aaa16.zhiliaotuofa.com 耗材][http://aaa17.zhiliaotuofa.com ][http://www42.voip99.com 纸箱][http://www43.voip99.com 丝印][http://www44.voip99.com 纳米焊条][http://www45.voip99.com 升降机][http://aaa02.zhiliaotuofa.com 压缩机][http://aaa03.zhiliaotuofa.com 手机窃听器][http://aaa06.zhiliaotuofa.com 振动筛][http://aaa07.zhiliaotuofa.com 空气净化][http://aaa08.zhiliaotuofa.com ][http://ww3.zhiliaotuofa.com 深圳机票][http://ww4.zhiliaotuofa.com ][http://w36.voip99.net GK][http://w40.voip99.net 网络电话卡][http://w41.voip99.net VOIP][http://w44.voip99.net ][http://ww1.voip99.com 卫星电视][http://ww0.voip99.net 监视器][http://www41.voip99.com ][http://www37.voip99.com 机床][http://www38.voip99.com 电子秤][http://www39.voip99.com ][http://w33.voip99.net VOIP网关][http://w34.voip99.net ][http://w70.voip99.net 板蓝根][http://www05.voip99.com 电力猫][http://www13.voip99.com 化工机械][http://a88.voip99.com 分离设备][http://a89.voip99.com 粉碎机][http://a95.voip99.com 仪器][http://a96.voip99.com 仪表仪器][http://a97.voip99.com 光学仪器][http://a98.voip99.com ][http://www27.voip99.com 印刷机][http://www28.voip99.com 耐火材料][http://www29.voip99.com ][http://www01.agreatserver.com 六合彩][http://jipiao.voip99.com/ 深圳机票][http://vod.voip99.net 视频点播][http://sudi.voip99.com/ 速递公司][http://guojihuoyun.voip99.com ][http://aaa23.zhiliaotuofa.com 密封件][http://aaa24.zhiliaotuofa.com 电动工具][http://aaa25.zhiliaotuofa.com 办公家具][http://aaa26.zhiliaotuofa.com 热水器][http://aaa27.zhiliaotuofa.com 金属丝网][http://aaa28.zhiliaotuofa.com ][http://guojihuoyun.voip99.com 国际货运][http://baojingqi.voip99.com 报警器][http://chaye.voip99.com 茶叶][http://www49.voip99.com 热处理设备][http://www50.voip99.com ][http://c66.voip99.net 建材机械][http://c67.voip99.net 工程塑料][http://c73.voip99.net ][http://c81.voip99.net 综合布线][http://c82.voip99.net ][http://c82.voip99.net 燃烧器][http://c83.voip99.net ][http://a15.voip99.com 注册英国公司][http://b05.zhiliaotuofa.com 工业胶带][http://b06.zhiliaotuofa.com 液压机][http://b07.zhiliaotuofa.com 过滤器][http://b13.zhiliaotuofa.com 整流器][http://b14.zhiliaotuofa.com 逆变器][http://b15.zhiliaotuofa.com 扬声器][http://b17.zhiliaotuofa.com 蜂鸣器][http://b18.zhiliaotuofa.com 显示屏][http://b19.zhiliaotuofa.com 天线][http://c12.voip99.net 塑封机][http://c13.voip99.net 望远镜][http://c19.voip99.net ][http://c150.voip99.net ][http://aaa10.zhiliaotuofa.com 机电设备][http://aaa35.zhiliaotuofa.com 防盗器][http://aaa36.zhiliaotuofa.com 印刷机械][http://w46.voip99.net ][http://w63.voip99.net 语音网关][http://w65.voip99.net ip超市][http://w69.voip99.net 保健品][http://w70.voip99.net ][http://b80.zhiliaotuofa.com 消防器材][http://b81.zhiliaotuofa.com 建筑机械][http://b88.zhiliaotuofa.com ][http://c126.voip99.net 医疗设备][http://c127.voip99.net 仓储][http://c128.voip99.net ][http://www.voip99.com/bbs/ voip在线交易中心][http://aaa19.zhiliaotuofa.com 电容器][http://aaa20.zhiliaotuofa.com ][http://a22.voip99.com 会计师事务所][http://a23.voip99.com 法律咨询][http://b08.zhiliaotuofa.com ][http://c29.voip99.net 离心机][http://c45.voip99.net 触摸屏][http://c46.voip99.net 条码][http://c47.voip99.net 工业设计][http://c53.voip99.net 臭氧][http://c54.voip99.net 润滑脂][http://c55.voip99.net ][http://c17.voip99.net 铜制品][http://c18.voip99.net 石墨][http://c19.voip99.net ][http://c76.voip99.net 转换器][http://c89.voip99.net 铁塔][http://c90.voip99.net 热电偶][http://c95.voip99.net 刻字机][http://c100.voip99.net ][http://a73.voip99.com ][http://c11.voip99.net 投影仪][http://c12.voip99.net ][http://a14.voip99.com 注册美国公司][http://b56.zhiliaotuofa.com 相框][http://b57.zhiliaotuofa.com 蜡烛][http://b73.zhiliaotuofa.com 石材][http://b74.zhiliaotuofa.com 钢结构][http://b75.zhiliaotuofa.com 管材][http://b76.zhiliaotuofa.com ][http://jipiao.voip99.com/ 深圳机票][http://sudi.voip99.com/ 快递|速递公司][http://shipinhuiyi.zhiliaotuofa.com ][http://ww3.voip99.com ][http://www16.voip99.com 钛白粉][http://www17.voip99.com 塑料制品][http://www18.voip99.com 阀门][http://www19.voip99.com 纯水设备][http://www20.voip99.com ][http://www36.voip99.com 工艺品][http://w09.voip99.net 脱毛][http://w10.voip99.net 净水器][http://w11.voip99.net 蜂蜜][http://w12.voip99.net ][http://w75.voip99.net 门禁][http://w76.voip99.net 瓷砖][http://w77.voip99.net 电机][http://ww0.voip99.com 耳机][http://www39.voip99.com ][http://www09.voip99.com 轮胎][http://www10.voip99.com 电子仪器][http://www11.voip99.com 汽车配件][http://www12.voip99.com ][http://ww5.voip99.net 光端机] [CMcC]: My personal feeling is that something between 1. (gut tclx) and 4. (keep some integrity) is best, but I think some of the file commands, for example, should completely disappear into tcl's [file] command. That kind of leaves the signal, posix and miscellaneous facilities. Signal and posix could remain as distinct modules, but they ought to be tied more to the core IMHO. Which leaves us with miscellaneous category (help and such) which aren't core facilities, things like keyed lists which are superseded/obsoleted by new tcl developments (qv [dict]), and useful stuff like intersect3 which should be in [tcllib]. That's how I see it, anyway ... move useful stuff into core, leave tclx behind because it now has a long history and can't function as a new facilities proving ground because of the need to remain compatible. Then another such extension collection can be made, and the cycle continues. I hope this isn't perceived as cruel or uncaring, I just think TclX has succeeded beyond the point where it should be kept distinct from the core. Although creating a distinct binary tcllib umbrella and calling that TclX is a very appealing concept, it would necessarily have to carry along TclX's baggage, wouldn't it? I love the idea of a binary tcllib, but I think it has to be a clean break with TclX because otherwise we might perpetuate the disparate interfaces, the obsolete commands, and other stuff which TclX compatibility entails. I hope the idea of a binary tcllib succeeds so well that whole slabs of core tcl functionality could move into it. Personally, I don't love the idea of extensions containing generally useful, and sometimes essential functionality, because they are hard for newbies to get and load, and their lack impoverishes tcl relative to some other systems and languages. The best possible solution would be for a packaging system for tcl which made it trivially easy to acquire essential functionality. Tcl doesn't have it, Python does, PERL does, and that's (I think) why they are perceived more positively. We're not close to having a universally workable trivially easy distribution/packaging solution for tcl, ([StarKit] notwithstanding), so the only reasonable solution is for tcl core to cannibalise essential functionality. Moreover, if TclX, expect, et al are to provide essential functionality, I think they need to take over '''all''' of the functionality for Tcl - it makes no sense to me to have some essential (or at least wildly useful) file functionality in Tcl, and some in TclX, without a coherent interface. The extensions aren't modular, and to get the functionality people need, they have to cobble together ''disparate'' extensions, using incompatible build systems, with different degrees of interoperability (e.g. TclX hangs tclhttpd, apparently.) There's possibly a reasonable question of how much of the TclX functionality [TCT] want to own, given the added maintenance workload. It seems to me that tcl core has to either support concepts like [file] completely, or not at all. If tcl core can't/won't support [file] in all its possible expressive richness, then it should simply move all [file] functionality into a distinct module. The other consideration is that at least some of TclX is a thin wrapper around standard POSIX functions. Things like [critcl] are useful in that, as [userid] shows. This raises questions of packaging and building ... which are interesting challenges to the way we look at tcl. I didn't ''intend'' to turn this into a political rant, but ... stuff happens :) ---- [Andreas Otto], 30 may 2005 '''current state''' * tclx is an extension working very well on UNIX like OS's including Mac OS X and Windows SFU * the known tcl distribution includes additional targets like Mac OS Classic and Win32 => you can not put tclx into the core without putting Mac OS Classic and Win32 out of the core That was the reason I started my [TclBase] project which focus only on [POSIX] clean OS's '''add additional features into the file command''' that is a good idea but it also includes an fundamental design-lack of tcl. as I know: ''you can not extend an existing supercommand like (file, string) with additional subcommands''. I would like to see that feature in the future. (''[NEM] - see the [[namespace ensemble]] command in 8.5[http://www.tcl.tk/cgi-bin/tct/tip/112]'') [CMcC]: Andreas, why can't you put tclx into the core without taking those OS's out? [Andreas Otto]: because the additional OS's are not supporting all needed features (POSIX commands) [CMcC]: Ah, ok. So not all OS's will support all features. That's not so bad, is it? ---- [[ [Category Discussion] | [Category TclX] ]]