|
From: Phillip B. <phi...@um...> - 2025-11-08 01:44:12
|
I would like to see something like this in the core. Then, there is no concern about using the undocumented interface. Phil On Fri, Nov 7, 2025 at 5:40 PM Steve Landers <st...@di...> wrote: > I am very positive about Colin's approach, especially with the speedups > you (Eric) have recommended. In my opinion it offers the best hope of > improving the expr command without breaking code or introducing Lots of > Interminably Silly Parentheses (see what I did there?). > > As for bytecode changes, as Phil notes they come with the risk of making > the solution release-dependent but I don't think that should be seen as a > show-stopper given the value of an improved expr. > > Just my 2c worth > > -- Steve > On 8 Nov 2025 at 9:06 AM +0800, EricT <tw...@gm...>, wrote: > > Philip: > > Well, maybe it's a good thing that I don't have any tct votes. But now I > have some pure tcl, that runs very fast and finally I can put the expr > dragon to rest. I have several versions of tcl, and many of Ashok's great > tclkit's bundled with twapi. I hope he finds a way to create more, > especially for 9.x. I have some utilities that for some forgotten reason > still need an older 8.6, and so that's how they launch. > > If you want to try my latest fork of Colin's masterpiece, you can just > tclsh it and then take a look at the bytecode, as it dumps the cache at the > end. There are now 140 test cases you can look through as examples of > usage. The last 10 also use : as the command name, which I think of as a > slimmer alias of = that just seems to look right to my eyes. But = works as > well. > > Here's the very latest: > > https://github.com/rocketship88/colin-parser > > Eric > > > On Fri, Nov 7, 2025 at 4:16 PM Phillip Brooks <phi...@um...> wrote: > >> >> >> On Fri, Nov 7, 2025 at 2:14 PM EricT <tw...@gm...> wrote: >> >>> Hi Phillip: >>> >>> In going from tcl 8.6 to tcl 9.0 the only things that broke, at least >>> where Colin's program is concerned, were land and lor, which are no longer >>> supported. If the bytecode were to have to support those two because they >>> had been made public, I don't see the big harm. In 8.6 they'd already gone >>> to a jump based arrangement for short circuiting. So, in 9.x they just >>> removed these 2 instructions. >>> >> >> The harm is that the bytecode is currently allowed to change completely >> from release to release. This allows for reorganization and optimization >> that would otherwise be impossible. The way you are using it is, I think, >> safe since you only ever create and run it in the same session. If opened >> up for general use, people might try to save it to a file, and then use >> that on a different release. Others are more expert in this area than I >> am, though. >> >> Phil >> >>> _______________________________________________ >> Tcl-Core mailing list >> Tcl...@li... >> https://lists.sourceforge.net/lists/listinfo/tcl-core >> > _______________________________________________ > Tcl-Core mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-core > > |