Object Oriented Programming edit
The commands of the TclOO
package are now part of Tcl itself. This gives Tcl a built-in object system that is fully dynamic, class-based, and includes advanced features such as meta-classes, filters, and mixins.
New version 4 of the popular package Itcl (aka incr Tcl
) is also included, granting support for some traditional OO Tcl programming out of the box as well.
Stackless Evaluation edit
The evaluation of many levels of nested proc
calls are no longer implemented as a stack of nested C routine calls. This revision in the internal implementation of Tcl evaluation makes deep recursion in Tcl scripts safe to do. But there's more...
This new implementation enables a collection of new commands, coroutine
, and yieldto
that provide profound new capabilities and models of concurrency to Tcl scripts.
Enhanced Exceptions edit
New commands try
and a wealth of new -errorcode
values enable far more precise trapping and handling of exceptions using a familiar construct.
Batteries Included edit
Tcl delivers in the pkgs
subdirectory a bundled collection of third-party packages built and installed along with Tcl.
Thread-enabled Operations edit
A thread-enabled default build, a bundled Thread
package, and new command interp cancel
make Tcl 8.6 ready for your multi-threaded programming tasks.
SQL Database Powered edit
The bundled Tcl DataBase Connectivity (tdbc
) interface package makes it possible to write your SQL database-powered scripts decoupled from any particular database engine. The bundled sqlite3
packages supply a powerful and popular SQL database engine ready to use.
IPv6 Networking edit
Both client and server socket
s support IPv6 where platform support exists.
Built-in Zlib Compression edit
New command zlib
provides utilities to handle compression of data and streams.
List Processing edit
New commands lmap
and dict map
enable the elegant expression of transformations over Tcl containers.
Stacked Channels by Script edit
New commands chan push
and chan pop
expose the power of stacked channels without the need to write C code.
Other New Features edit
creation, enhancements to list sorting and setting, dict
filtering, half-close of bidirectional channels, encoding and decoding of binary
sequences, finer control over load
, and many many more. Every new feature is important to somebody. See Changes in Tcl/Tk 8.6
or TIP #311
for the complete list.