Highlights of Tcl 8.6

Object Oriented Programming

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

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, tailcall, yield, and yieldto that provide profound new capabilities and models of concurrency to Tcl scripts.

Enhanced Exceptions

New commands try and throw and a wealth of new -errorcode values enable far more precise trapping and handling of exceptions using a familiar construct.

Batteries Included

Tcl delivers in the pkgs subdirectory a bundled collection of third-party packages built and installed along with Tcl.

Thread-enabled Operations

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

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 and tdbc::sqlite3 packages supply a powerful and popular SQL database engine ready to use.

IPv6 Networking

Both client and server sockets support IPv6 where platform support exists.

Built-in Zlib Compression

New command zlib provides utilities to handle compression of data and streams.

List Processing

New commands lmap and dict map enable the elegant expression of transformations over Tcl containers.

Stacked Channels by Script

New commands chan push and chan pop expose the power of stacked channels without the need to write C code.

Other New Features

Temporary file 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.