From: Kevin K. <kev...@gm...> - 2025-05-14 01:47:24
|
[Adding a cc: to tcl-core so that we don't have to repeat the discussion there.] On Tue, May 13, 2025 at 4:32 PM Andreas Kupries <and...@gm...> wrote: > Harald asked me today about > > https://core.tcl-lang.org/tips/doc/trunk/tip/233.md > > which virtualized Tcl's sense of wall clock time. > > Given that the work was done 21 years ago I do not remember anymore > the purpose behind the reasons stated in the TIP. > > While I am pretty sure that this was asked for by a customer of > ActiveState, I do not truly remember which, and what use they had for > this feature. > > My mind seems to be thinking Cisco, but also throws out Synopsys. > Both are sensible possibilities (Network and other simulation stuff). > > As the TIP's link to the reference implementation, > https://sourceforge.net/p/tcl/patches/393, > > references you as owner of that patch/ticket, I hope that you may also > remember things about this feature, beyond my own recollection. > > This topic has come up because this virtual time interferes with > current efforts towards monotonic time for the core. What I recall about the ticket was what I posted on tcl-core a few days ago. I understood what virtual time was about - allowing a production script to run in simulated time rather than real time, while continuing to interact with real I/O devices. (It's also used in some highly secure systems to avoid certain timing-dependent covert channels for data exfiltration.) I never knew the details of the intended application - you and Jeff were under an NDA with the customer, and were not at liberty to disclose them. My name was on the ticket, because I was the maintainer of the time system at the time. I allowed it in primarily because it had no effect on a build that didn't use it. The TIP was approved at a time when we were not extremely formal about the process. My reasoning was "it's something an ActiveState customer needs, and can't be done without surgery on the Core - and this particular surgery is relatively minimal, since the functionality is activated only by invoking an unusual API." I never knew the identity of the customer, and as far as I know, nobody else has ever demanded virtualization of the clock. -- 73 de ke9tv/2, Kevin |