You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(19) |
Jul
(96) |
Aug
(144) |
Sep
(222) |
Oct
(496) |
Nov
(171) |
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(4) |
Feb
(4) |
Mar
(9) |
Apr
(4) |
May
(12) |
Jun
(6) |
Jul
|
Aug
|
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(52) |
Aug
(47) |
Sep
(47) |
Oct
(95) |
Nov
(56) |
Dec
(34) |
2003 |
Jan
(99) |
Feb
(116) |
Mar
(125) |
Apr
(99) |
May
(123) |
Jun
(69) |
Jul
(110) |
Aug
(130) |
Sep
(289) |
Oct
(211) |
Nov
(98) |
Dec
(140) |
2004 |
Jan
(85) |
Feb
(87) |
Mar
(342) |
Apr
(125) |
May
(101) |
Jun
(60) |
Jul
(151) |
Aug
(118) |
Sep
(162) |
Oct
(117) |
Nov
(125) |
Dec
(95) |
2005 |
Jan
(141) |
Feb
(54) |
Mar
(79) |
Apr
(83) |
May
(74) |
Jun
(125) |
Jul
(63) |
Aug
(89) |
Sep
(130) |
Oct
(89) |
Nov
(34) |
Dec
(39) |
2006 |
Jan
(98) |
Feb
(62) |
Mar
(56) |
Apr
(94) |
May
(169) |
Jun
(41) |
Jul
(34) |
Aug
(35) |
Sep
(132) |
Oct
(722) |
Nov
(381) |
Dec
(36) |
2007 |
Jan
(34) |
Feb
(174) |
Mar
(15) |
Apr
(35) |
May
(74) |
Jun
(15) |
Jul
(8) |
Aug
(18) |
Sep
(39) |
Oct
(125) |
Nov
(89) |
Dec
(129) |
2008 |
Jan
(176) |
Feb
(91) |
Mar
(69) |
Apr
(178) |
May
(310) |
Jun
(434) |
Jul
(171) |
Aug
(73) |
Sep
(187) |
Oct
(132) |
Nov
(259) |
Dec
(292) |
2009 |
Jan
(27) |
Feb
(54) |
Mar
(35) |
Apr
(54) |
May
(93) |
Jun
(10) |
Jul
(36) |
Aug
(36) |
Sep
(93) |
Oct
(52) |
Nov
(45) |
Dec
(74) |
2010 |
Jan
(20) |
Feb
(120) |
Mar
(165) |
Apr
(101) |
May
(56) |
Jun
(12) |
Jul
(73) |
Aug
(306) |
Sep
(154) |
Oct
(82) |
Nov
(63) |
Dec
(42) |
2011 |
Jan
(176) |
Feb
(86) |
Mar
(199) |
Apr
(86) |
May
(237) |
Jun
(50) |
Jul
(26) |
Aug
(56) |
Sep
(42) |
Oct
(62) |
Nov
(62) |
Dec
(52) |
2012 |
Jan
(35) |
Feb
(33) |
Mar
(128) |
Apr
(152) |
May
(133) |
Jun
(21) |
Jul
(74) |
Aug
(423) |
Sep
(165) |
Oct
(129) |
Nov
(387) |
Dec
(276) |
2013 |
Jan
(105) |
Feb
(30) |
Mar
(130) |
Apr
(42) |
May
(60) |
Jun
(79) |
Jul
(101) |
Aug
(46) |
Sep
(81) |
Oct
(14) |
Nov
(43) |
Dec
(4) |
2014 |
Jan
(25) |
Feb
(32) |
Mar
(30) |
Apr
(80) |
May
(42) |
Jun
(23) |
Jul
(68) |
Aug
(127) |
Sep
(112) |
Oct
(72) |
Nov
(29) |
Dec
(69) |
2015 |
Jan
(35) |
Feb
(49) |
Mar
(95) |
Apr
(10) |
May
(70) |
Jun
(64) |
Jul
(93) |
Aug
(85) |
Sep
(43) |
Oct
(38) |
Nov
(124) |
Dec
(29) |
2016 |
Jan
(253) |
Feb
(181) |
Mar
(132) |
Apr
(419) |
May
(68) |
Jun
(90) |
Jul
(52) |
Aug
(142) |
Sep
(131) |
Oct
(80) |
Nov
(84) |
Dec
(192) |
2017 |
Jan
(329) |
Feb
(842) |
Mar
(248) |
Apr
(85) |
May
(247) |
Jun
(186) |
Jul
(37) |
Aug
(73) |
Sep
(98) |
Oct
(108) |
Nov
(143) |
Dec
(143) |
2018 |
Jan
(155) |
Feb
(139) |
Mar
(72) |
Apr
(112) |
May
(82) |
Jun
(119) |
Jul
(24) |
Aug
(33) |
Sep
(179) |
Oct
(295) |
Nov
(111) |
Dec
(34) |
2019 |
Jan
(20) |
Feb
(29) |
Mar
(49) |
Apr
(89) |
May
(185) |
Jun
(131) |
Jul
(9) |
Aug
(59) |
Sep
(30) |
Oct
(44) |
Nov
(118) |
Dec
(53) |
2020 |
Jan
(70) |
Feb
(108) |
Mar
(50) |
Apr
(9) |
May
(70) |
Jun
(24) |
Jul
(103) |
Aug
(82) |
Sep
(132) |
Oct
(119) |
Nov
(174) |
Dec
(169) |
2021 |
Jan
(75) |
Feb
(51) |
Mar
(76) |
Apr
(73) |
May
(53) |
Jun
(120) |
Jul
(114) |
Aug
(73) |
Sep
(70) |
Oct
(18) |
Nov
(26) |
Dec
|
2022 |
Jan
(26) |
Feb
(63) |
Mar
(64) |
Apr
(64) |
May
(48) |
Jun
(74) |
Jul
(129) |
Aug
(106) |
Sep
(238) |
Oct
(169) |
Nov
(149) |
Dec
(111) |
2023 |
Jan
(110) |
Feb
(47) |
Mar
(82) |
Apr
(106) |
May
(168) |
Jun
(101) |
Jul
(155) |
Aug
(35) |
Sep
(51) |
Oct
(55) |
Nov
(134) |
Dec
(202) |
2024 |
Jan
(103) |
Feb
(129) |
Mar
(154) |
Apr
(89) |
May
(60) |
Jun
(162) |
Jul
(201) |
Aug
(61) |
Sep
(167) |
Oct
(111) |
Nov
(133) |
Dec
(141) |
2025 |
Jan
(122) |
Feb
(88) |
Mar
(106) |
Apr
(113) |
May
(203) |
Jun
(185) |
Jul
(124) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Michael A. C. <mi...@cl...> - 2006-10-31 05:26:10
|
On 10/30/06, Andreas Kupries <and...@ac...> wrote: > Ok, I also found an older RFE by Colin McCormack > > http://sourceforge.net/tracker/index.php?func=detail&aid=1399062&group_id=10894& > atid=360894 > gets with limited line-length > > I think this should be discussed in the TIP I haven't downloaded the patch attached to Colin's RFE yet to see (will do so tonight), but with the various ways one can call [gets] (0 to 3 arguments currently) the semantics seem like they could get a bit messy if -maxchars were supported in all flavors. Also I think you'd want to be able to distinguish between the case where you got -maxchars because that is exactly what was there to be read and when you got -maxchars because you hit the maximum. I suppose you could distinguish the case by requesting -maxchars [expr {$limit + 1}] and then testing [string length $line] to see if it were just $limit or ($limit + 1) ... Anyway, I think [chan available] is a good fit with the new [chan] ensembles in 8.5 and approving the TIP shouldn't preclude a separate TIP for changing [gets] in my opinion. Michael |
From: Jeff H. <je...@ac...> - 2006-10-31 03:35:27
|
After review of the sandbox by various parties, we have made a first commit of themed Tk (Ttk, aka tile) to 8.5. This is a branch of tile from v0.7.8, with some variations. There is no Ttk or tile package in this, it is simply Tk 8.5a6 (which you can thankfully now request by exact patchlevel). It currently builds and runs across the platforms. There is an issue with 'make test' in the safe.test suite in that it fails to run due to some non-safe code usage in the ttk library initialization (though it runs fine when testing by hand ... ugh, safe interp debugging is a pain). We will be refining and improving the actual themed parts, along with documentation, demos and refinement of what exactly is public for 8.5. I welcome everyone to start poking and prodding now though. Enjoy, Jeff |
From: miguel <ms...@us...> - 2006-10-31 00:18:00
|
My vote: TIP #174: YES Miguel |
From: Andreas K. <and...@ac...> - 2006-10-30 22:25:31
|
> Using the attached scripts (yyy = sender incomplete line, zzz = > sender complete > line, xxx = receiver), I find that after each push of an incomplete > line to the > socket the receiver calls the event handler only twice and then > stops. Until the > next chunk is received. Without the special case it would expect it to execute > the handler rapidly without stopping, until the line has been completed ... > > Interesting. Now I am wondering how this is implemented. Aha. tclIO.c, Tcl_GetsObj, line 3854 (8.4 head, end of the function). CHANNEL_NEED_MORE_DATA flag ... -- Andreas Kupries <and...@Ac...> Developer @ http://www.ActiveState.com Tel: +1 778-786-1122 |
From: Andreas K. <and...@ac...> - 2006-10-30 22:20:34
|
> I've updated TIP #287 (which proposes a [chan available]) command with > a pointer to the reference implementation/patch at SourceForge (RFE > 1586860). See: http://www.tcl.tk/cgi-bin/tct/tip/287.html. > The patch also includes updated man pages and test cases. > > Naturally feedback is appreciated. I think this should be a > relatively uncontroversial TIP as it fits in nicely with the new > [chan] command in 8.5 (and will help authors of network daemons to > avoid a certain class of DoS attacks). Michael, your are quoting from fileevent.n: A channel is also considered to be readable if there is unread data in an input buffer, except in the special case where the most recent attempt to read from the channel was a gets call that could not find a complete line in the input buffer. I am not aware of this special case, and think that the manpage might be wrong. ... Writing a test script ... Ok I seem to be wrong. Using the attached scripts (yyy = sender incomplete line, zzz = sender complete line, xxx = receiver), I find that after each push of an incomplete line to the socket the receiver calls the event handler only twice and then stops. Until the next chunk is received. Without the special case it would expect it to execute the handler rapidly without stopping, until the line has been completed ... Interesting. Now I am wondering how this is implemented. Ok, I also found an older RFE by Colin McCormack http://sourceforge.net/tracker/index.php?func=detail&aid=1399062&group_id=10894& atid=360894 gets with limited line-length I think this should be discussed in the TIP -- Andreas Kupries <and...@Ac...> Developer @ http://www.ActiveState.com Tel: +1 778-786-1122 |
From: Eckhard L. <ec...@gm...> - 2006-10-30 21:47:03
|
Tom Krehbiel schrieb: > Is the reference implementation compatible with threading? The reference implementation can be found here: http://sourceforge.net/support/tracker.php?aid=1587317. I did not care in particular about thread safety, but the handler is stored and run on a "per Interp" basis. This means that it must be registered separately for each thread - and when an error comes up there, the handler is run in the Interp of this thread (the current thread can be retrieved with [thread::id] in the handler script). I did some testing with multi threads, and it works (more tests will be added later to the testsuite). Eckhard |
From: Jim I. <ji...@ap...> - 2006-10-30 20:48:30
|
TIP #174: YES Jim On Oct 30, 2006, at 11:35 AM, Kevin Kenny wrote: > As I warned last week, I'm calling the vote on > > TIP #174: "Math Operators as Commands" > > Please send votes to me by [clock format 1162832400]. > > My vote: > > TIP #174: YES > -- > 73 de ke9tv/2, Kevin KENNY GE Corporate Research & Development > ke...@cr... P. O. Box 8, Bldg. K-1, Rm. 5B36A > Schenectady, New York 12301-0008 USA > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, > security? > Get stuff done quickly with pre-integrated technology to make your > job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Andreas K. <and...@ac...> - 2006-10-30 20:41:24
|
The TIP has been extended to cover 8.5 features, like {expand}, the dict for/with, etc. We now also have an implementation/patch for 8.5 as well, against the hea= d. Please test. -- Andreas Kupries <and...@Ac...> Developer @ http://www.ActiveState.com Tel: +1 778-786-1122 > -----Original Message----- > From: tcl...@li... > [mailto:tcl...@li...]On Behalf Of Andreas > Kupries > Sent: Friday, October 20, 2006 9:05 AM > To: tcl...@li... > Subject: Re: [TCLCORE] TIP #280: Add Full Stack Trace > CapabilityWithLocation Introspection > > > > > 2006-10-19 kl. 21.43 skrev Andreas Kupries: > > >>> This is directly taken from the 'interp->scriptFile' structure > > >>> element. > > >>> In other words: Whatever would be delivered by [info source] for = the > > >>> file, if > > >>> called at the same effective location. > > >> > > >> In other words, something not quite as useful as it could have bee= n. > > >> Pity, but I suppose there might be a cost for normalising file nam= es > > >> involved. > > > > > > Its not as bad, Don Porter sent the name of the function to call. S= o > > > yes, there > > > will be a cost, but only at the time the [info frame] is called. > > > > That's not good enough; you need to do it when the file is opened, or > > else the [pwd] might have changed by the time you request the > > information. Consider the following interactive sequence of commands: > > > > % cd sourcedir > > % source mystuff.tcl > > % cd ../testdir > > % source mystuff.tcl > > % runTest > > > > Now which mystuff.tcl did a particular proc come from? > > > > Lars Hellstr=F6m=3D > > > Don Porter pointed this out as well, including that 'source' itself als= o does > normalization, and the result is cached, thus there is no real > additional effort > involved if I do it as well. The newest patches on SourceForge (base4+) > implement this already, i.e. normalization when the frame is constructe= d in > 'source', not by 'info frame'. > > -- > Andreas Kupries <and...@Ac...> > Developer @ http://www.ActiveState.com > Tel: +1 778-786-1122 > > > > -----------------------------------------------------------------------= -- > Using Tomcat but need to do more? Need to support web services, securit= y? > Get stuff done quickly with pre-integrated technology to make your job = easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geron= imo > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat= =3D121642 > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Joe E. <jen...@fl...> - 2006-10-30 20:00:10
|
Kevin Kenny wrote: > > As I warned last week, I'm calling the vote on > > TIP #174: "Math Operators as Commands" TIP#174: YES (A very enthusiastic YES...) --Joe English jen...@fl... |
From: Tom K. <tom...@fr...> - 2006-10-30 19:58:29
|
Is the reference implementation compatible with threading? Tom K. > Hi everyone! > > This is just a quick note to say that TIP#290 "Registration of Custom > Error Handler Scripts" has been published at: > http://tip.tcl.tk/290.html > > I'd send out the usual publication email, but the machine (and the whole > network segment) that I use for that seems to be down. :-\ > > Donal. > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core |
From: Joe E. <jen...@fl...> - 2006-10-30 19:57:45
|
Kevin Kenny wrote: > > TIP #272: PRESENT > Does this TIP have a use case other than benchmarksmanship? I can think of plenty of times when I've needed to iterate over a list from back-to-front; in such situations "foreach e [lreverse $l] {...}" is a much more pleasant solution than the equivalent "for {...} {...} {...} {...}" loop. [string reverse] has fewer apparent use cases, but there are a couple -- map {string reverse} [lsort [map {string reverse} $filenames]] is a quick-and-dirty way to collate a list of filenames by extension for instance. --Joe English jen...@fl... |
From: Jim I. <ji...@ap...> - 2006-10-30 19:46:01
|
On Oct 30, 2006, at 9:16 AM, Donald G Porter wrote: > > As promised, here's the call for votes for TIPs 272 and 274. > > Please send votes to TCLCORE and/or back to me before the polls > close at > [clock format 1162573200]. > > TIP #272: String and List Reversal Operations > > TIP #274: Right-Associativity for the Exponentiation Operator > > My votes: > 272: YES - I've wanted to do the list version of this sometimes (never the string one, but it doesn't hurt). 274: YES Jim |
From: <ke...@cr...> - 2006-10-30 19:36:56
|
As I warned last week, I'm calling the vote on TIP #174: "Math Operators as Commands" Please send votes to me by [clock format 1162832400]. My vote: TIP #174: YES -- 73 de ke9tv/2, Kevin KENNY GE Corporate Research & Development ke...@cr... P. O. Box 8, Bldg. K-1, Rm. 5B36A Schenectady, New York 12301-0008 USA |
From: <ke...@cr...> - 2006-10-30 19:28:32
|
TIP #272: PRESENT Does this TIP have a use case other than benchmarksmanship? TIP #274: YES Correcting a bug in the original specification. -- 73 de ke9tv/2, Kevin KENNY GE Corporate Research & Development ke...@cr... P. O. Box 8, Bldg. K-1, Rm. 5B36A Schenectady, New York 12301-0008 USA |
From: Joe E. <jen...@fl...> - 2006-10-30 18:42:04
|
Donald G Porter wrote: > > As promised, here's the call for votes for TIPs 272 and 274. > > Please send votes to TCLCORE and/or back to me before the polls close at > [clock format 1162573200]. > > TIP #272: String and List Reversal Operations > TIP #274: Right-Associativity for the Exponentiation Operator TIP#272: YES TIP#274: YES --Joe English jen...@fl... |
From: Donald G P. <dg...@ni...> - 2006-10-30 17:58:10
|
TIP 289 proposes a change from syntax lrepeat $number $element $element ... to lrepeat $element $element ... $number The main feature that appears to get lost in this change is the ability to redirect aliases or subcommands of ensembles to [lrepeat] calls with the number of repetitions already filled in. Anyone know of examples of making use of this capability? -- | Don Porter Mathematical and Computational Sciences Division | | don...@ni... Information Technology Laboratory | | http://math.nist.gov/~DPorter/ NIST | |______________________________________________________________________| |
From: Andreas K. <and...@ac...> - 2006-10-30 17:34:54
|
> TIP #272: String and List Reversal Operations > TIP #274: Right-Associativity for the Exponentiation Operator My votes: TIP#272: YES TIP#274: YES -- Andreas Kupries <and...@Ac...> Developer @ http://www.ActiveState.com Tel: +1 778-786-1122 |
From: miguel <ms...@us...> - 2006-10-30 17:21:52
|
Donald G Porter wrote: > As promised, here's the call for votes for TIPs 272 and 274. > > Please send votes to TCLCORE and/or back to me before the polls close at > [clock format 1162573200]. > > TIP #272: String and List Reversal Operations > > TIP #274: Right-Associativity for the Exponentiation Operator > My votes: 272: YES 274: YES Miguel |
From: Donald G P. <dg...@ni...> - 2006-10-30 17:17:20
|
As promised, here's the call for votes for TIPs 272 and 274. Please send votes to TCLCORE and/or back to me before the polls close at [clock format 1162573200]. TIP #272: String and List Reversal Operations TIP #274: Right-Associativity for the Exponentiation Operator My votes: 272: YES 274: YES -- | Don Porter Mathematical and Computational Sciences Division | | don...@ni... Information Technology Laboratory | | http://math.nist.gov/~DPorter/ NIST | |______________________________________________________________________| |
From: Donal K. F. <don...@ma...> - 2006-10-30 00:05:34
|
Gustaf Neumann wrote: > Will Duquette schrieb: >> TIP 257 is much faster than Snit 2.x in other areas (e.g., >> object creation, where it's faster by an order of magnitude). > > i don't have the impression that object creation is blazing fast with > tip#257 (see as well the message above). Benchmark duelling? Ick. (The #257 code doesn't bother trying to put off namespace creation until the first method call, on the grounds that practical code will almost always have some per-object state to be kept in the object's namespace and so putting off creation won't win much at all. So currently I leave the code simple-to-write - and hence easy to understand - instead of going for chiselling a tiny bit for benchmarks' sake.) Donal. |
From: Donal K. F. <don...@ma...> - 2006-10-29 23:54:09
|
ju...@pr... wrote: > What I've seen referred to as the 'invocant'. > Is this 'object invocation context' assumed to involve the context of just one object? > > Whilst I'm not yet sure how these method/proc thingies will operate - can you please consider if it makes sense to accept multiple invocants for oo systems that may like to use this feature? > > ie some oo extension may want to invoke a method in the context of more than one object at once. > see http://en.wikipedia.org/wiki/Multimethods Umm, so far we've not been truly doing anything in Tcl involving types in the sense that that article describes (as "everything is a string" you know), so for now I'm going to keep on doing nothing. :-) > This isn't really a specific request I guess.. just a nudge towards generalization of the invocant/dispatch stuff if it happens to make sense. > > I've been toying with the idea of multiple dispatch for my own oo system - but never came up with anything concrete. You could probably do it with a custom method type (something I do support) I suppose. Anything else would require a different (and much more expensive) way of managing the binding of "method name" to implementation. Donal. |
From: Donal K. F. <don...@ma...> - 2006-10-29 23:36:58
|
Hi everyone! This is just a quick note to say that TIP#290 "Registration of Custom Error Handler Scripts" has been published at: http://tip.tcl.tk/290.html I'd send out the usual publication email, but the machine (and the whole network segment) that I use for that seems to be down. :-\ Donal. |
From: Michael A. C. <mi...@cl...> - 2006-10-29 22:21:30
|
I've updated TIP #287 (which proposes a [chan available]) command with a pointer to the reference implementation/patch at SourceForge (RFE 1586860). See: http://www.tcl.tk/cgi-bin/tct/tip/287.html. The patch also includes updated man pages and test cases. Naturally feedback is appreciated. I think this should be a relatively uncontroversial TIP as it fits in nicely with the new [chan] command in 8.5 (and will help authors of network daemons to avoid a certain class of DoS attacks). Michael |
From: <Lar...@re...> - 2006-10-28 20:29:45
|
2006-10-27 kl. 16.47 skrev miguel sofer: > Lars Hellstr=F6m wrote: >> 2006-10-27 kl. 00.30 skrev Donal K. Fellows: >>> I (reluctantly) agree to not >>> push for any OO system in 8.5 on the proviso that we stick to that >>> short >>> cycle for 8.6 (I hate committing to 8.6, but we need a version out=20= >>> with >>> an OO system so that it can get extensive in-field testing before = 9.0 >>> when it would be nice to see how much of Tk can be founded on=20 >>> objects.) >> >> It occurs to me that this "8.5 will be the last 8.x, then it's 9.0 = all >> the way" additude may be the culprit on which most of the blame for=20= >> the >> 4 years (and counting?) release cycle of 8.5 should be placed. If >> something is going to be the last in its kind -- the zenit of >> technological ingenuity -- then it is hard to let go of it, because >> there is always some more polishing to do and features to stick in. >> OTOH, as long as there will be a new model next year, then some of = the >> goodies can get to wait for that. > > The problem is partially that some of the goodies *have* to wait for > 9.0: we cannot break compat in a point release, and compat makes some > things impossible. Sure, but I was speaking rather about the evolution of the 8.x line.=20 While some improvements certainly require a major version update, there=20= always seems to be a lot more which can be put in place already in the=20= next 8.x. >> There have been plans for what should be in various releases along = the >> way (I vaguely recall something about 8.5 should be all about=20 >> improving >> Tk), but it's my impression that the TIPs actually submitted didn't >> match those expectations; there turned out to be a lot that could be >> improved in Tcl as well. There probably still is (although 8.5 now >> meets an anstonishingly large amount of the things that have been on=20= >> my >> wish list). >> >> At the current rate of ingenuity coming in, I wouldn't be totally >> surprised if there gets to be an 8.7 as well. In that case, it would >> probably be a good idea to not wait until 2010 to accept the notion, >> and instead let it come naturally if/when it comes. > > It is also a matter of energy and manpower. We now keep two active > branches; opening 9.0 while keeping development for the 8.x means = three > active branches, with one of them diverging constantly. Development of > new features becomes very hard, porting between the branches difficult > and extremely work intensive. So? Obviously no development would take place on the 8.x branch is=20 noone bothers to do the work. There's a huge difference between not=20 doing anything and being forbidden[*] to do it however, and it is the=20 leaning towards the latter that worries me. ([*] Yes, you could claim that since it's Open Source noone can be=20 forbidden to do development, but with that lofty argumentation one=20 could equally well deduce that there's no need ever to officially go to=20= Tcl 9 since anyone who wants to break compatibility can do so on their=20= own. (Come to think of it, some have already done that.)) > So *my* hope is that > > (1) we will have a development branch that is free from any compat > commitments (especially binary, and not even source for extensions=20 > using > tclInt.h). Which does not mean anybody will break things randomly and=20= > on > purpose. > > (2) we will keep 8.x on maintenance: bugfixes mainly. > > If there appear volunteers (or paid workers, or the $$$ to create > volunteers) most features maybe can be backported. But backporting > should not constrain the design of new features. I suspect there would be quite a large timeframe within which things=20 would be forward-ported rather than backported, i.e., the little=20 improvements (like [chan available]) would primarily be done in 8.x,=20 because that is where people need them. > Nothing stops us from > having different teams for 9.x and 8.x, except that we are already too > small a team for one of them. As I recall it, it is not the TCT that is required to implement TIPs,=20 but rather the proposers. When the focus has shifted to 9.0, the 8.x=20 development (and releases) should slow down to halt gradually, rather=20 than end with a bang. > In short, at least for me: 9.0 is not an excuse not to develop new > features because they can always go in tomorrow. Rather, 8.x is like a > cage that stops development or makes it difficult; 9.0 is freedom. My point is that "after 8.5 comes 9.0" has been an excuse for=20 *delaying* 8.5, because if 8.5 shipped without feature X then X would=20 have had to wait for 9.0 (i.e., probably very long) to be available,=20 since it was proclaimed that there wouldn't be an 8.6. If 8.5 had not=20 been planned as the end of the 8.x series, then I suspect it would have=20= already been final (probably with {expand}, ensembles, and [dict] (thus=20= making the backport dict for 8.4 extension unnecessary), but without=20 [apply] and bignums) and it would have been 8.6 that was about to go=20 beta about now. > As an example, you can look at some of the tips that target 9.0. Another point to note: There aren't very many of them! The last 9.0 TIP=20= was #192, and we're now at #289. This is to me a clear sign that the=20 incentives for development within the 8.x line are far from exhausted. > Or consider that we could possibly make the core much more sparing in > memory and runtime if we could share the string rep of Tcl_Objs,=20 > storing > also lengths and hashed values in the same struct as the string. Or > develop continuations, which may imply a change in some public apis. Sure, all good things, but I wouldn't want to hold my breath until they=20= arrive. I also wouldn't want to see simple improvements (such as #286)=20= having to wait until these tricky things have been sorted out. > Or do automatic expansion of leading words in commands - Nah, that's such a DWIMerism. {expand} already solves the problem, even=20= if some may find the syntax unappealing. > breaking current > command names with spaces, but allowing true lambdas and efficient use > of command prefixes. Or ... the sky's the limit. Yes, but there are still plenty of things that can be constructed=20 within the hangar of 8.x compatibility, and in the 9.x building-site=20 the foundation hasn't even been laid yet. ;-) The promise of a future=20 Paradise is not a reason for putting a stop for improvements to the=20 here and now. Lars Hellstr=F6m= |
From: Twylite <tw...@cr...> - 2006-10-28 16:35:30
|
DKF wrote: > Maybe. Or maybe it's delegative OO (see Snit) that's Tcl's true nature? I like Snit's delegative approach a lot -- it is powerful and easy to understand. What a delegative approach lacks though is polymorphism. This means that with delegation it is easy to add behaviour to another object/class (using the decorator pattern), but difficult to change (adapt) the behaviour of another object/class unless that object provides explicit hooks (events, callbacks, etc) to do so. I think I need an example here to add clarity: - objB decorates objA, adding a new method "x" and overriding the method "calc"; all other methods are delegated. - If you have a variable A and assign to it either objA or objB, then in all cases when you use $A it will appear to be an object of type classA, with polymorphic behaviour (in that if A is set to objA then the calc method of classA will be used, and if A is set to objB then the calc method of classB will be used). BUT - objA has a method "increment" that updates some internal value and calls "calc". - objB delegates "increment" to objA - When "increment" is called on objB, the resulting call to the "calc" method is called on objA _not_ on objB. True polymorphic behaviour can be very useful in a lot of circumstances, including extending widgets. I think Tcl's true nature (when it comes to OO) hasn't been found yet, but it is a blend of delegative, class-based and prototype ;) My 2c. Twylite |