TIP 486: Thread 3.0 is for Tcl 9

Login
FlightAware bounty program for improvements to Tcl and certain Tcl packages.
Author:         Jan Nijtmans <jan.nijtmans@gmail.com>
State:          Draft
Type:           Project
Vote:           Pending
Created:        13-Nov-2017
Post-History:   
Tcl-Version:    9.0

Abstract

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.

Proposed Change

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.

Implementation

An implementation of this TIP can be found in the novem branch.

Copyright

This document has been placed in the public domain.