Author: Jan Nijtmans <email@example.com> State: Draft Type: Project Vote: Pending Created: 13-Nov-2017 Post-History: Tcl-Version: 9.0
The "thread" package became an essential part of Tcl. In order to keep functioning in Tcl 8.4, 8.5 and 8.6, a lot of trickery has been introduced, which cannot be maintained indefinitely. This should all be removed eventually.
Therefore, this TIP suggests to continue the development of Thread 2.8, which is meant for Tcl 8.x, but also develop Thread 3.0 which is meant to function with Tcl 9 only. On the script level they will be upwards compatible. The major version number is used to tell the difference.
Thread 3.0 will be upwards compatible with Thread 2.8. The difference between Thread 3.0 and Thread 2.8 will be that Thread 3.0 will run on Tcl 9.0 only, while Thread 2.x will run on Tcl 8.x only. All functionality which keeps Thread running on Tcl 8.x will be removed in Thread 3.0, but at the script level everything will be 100% upwards compatible.
When the time comes, Thread 3.0a1 will be released together with Tcl 9.0a1, and the same with follow-up intermediate releases. Thread 3.0 will be released together with Tcl 9.0.0.
An implementation of this TIP can be found in the novem branch.
This document has been placed in the public domain.