Tcl provides a portable scripting environment for Unix, Windows, and Macintosh that supports string processing and pattern matching, native file system access, shell-like control over other programs, TCP/IP networking, timers, and event-driven I/O. Tcl has traditional programming constructs like variables, loops, procedures, namespaces, error handling, script packages, and dynamic loading of DLLs. Tk provides portable GUIs on UNIX, Windows, and Macintosh. A powerful widget set and the concise scripting interface to Tk make it a breeze to develop sophisticated user interfaces.
| Tags | Software Development Embedded Systems Widget Sets Testing Interpreters |
|---|---|
| Licenses | BSD Revised BSD Original |
| Operating Systems | Unix Windows Windows Windows Mac OS X |
| Implementation | C Tcl |
Recent releases


Changes: Keyboard bindings for ttk::scale were added. Parser errors when expanding literals like: {*}{\{} were fixed. The http package's ability to read SHOUTcast streams was restored. A hang during channel finalization is prevented. Crashes while using nondefault visuals were fixed.


Changes: The new commands [try], [throw], [zlib], and [ttk::spinbox] were added. The new subcommads [file tempfile], [tk busy], [tk fontchooser], [$canvas imove], and [$canvas rchars] were added. A new ttk theme was added: vista uses the new "hover" state. The build script now supports bundled packages.


Changes: New commands include [coroutine], [yield], [info coroutine], [tailcall], [tcl::prefix], [oo::define $class variable], and [$canvas moveto]. Several bugs in new OO facilities and in the new non-recursive evaluation engine were fixed. Support for pre-ANSI compilers via _ANSI_ARGS_ was removed.


Changes: Formatting of numeric values returned by [xy]view methods was revised to avoid problems when changing locales. [tk_getOpenFile -multiple 1] was fixed on Unix. Broken handling of ***= regular expressions was corrected. Tcl now only asks the system to unload shared libraries that explicitly support Tcl's [unload] facility. Efficiency converting between lists and dicts was improved.


Changes: The "[chan pipe]" command was added. A new non-recursive evaluation implementation decouples the Tcl evaluation stack from the C evaluation stack. New experimental commands were added in ::tcl::unsupported: [tailcall], [atProcExit], [coroutine], and [yield]. Stack overflow protection is used in the regexp engine. Broken handling of ***= regexps was fixed. A crash in [namespace inscope {}] was fixed. The "wrong # args" messages were made more consistent.