Applications built with Tcl/Tk come together with relative ease. A sticky note facility can be put together in an hour. A simple video game can be created in an afternoon. But as applications get larger, Tcl/Tk code becomes more and more difficult to understand, maintain and extend.
[incr Tcl] provides the extra language support needed to build large Tcl/Tk applications. It introduces the notion of objects, which act as building blocks for an application. Each object is a bag of data with a set of procedures or "methods" that are used to manipulate it. Objects are organized into "classes" with identical characteristics, and classes can inherit functionality from one another. This object-oriented paradigm adds another level of organization on top of the basic variable/procedure elements, and the resulting code is easier to understand and maintain.
The latest release offers better performance and a host of new features:
Since it was introduced in 1993, [incr Tcl] has become quite popular in the Tcl/Tk development community. There is a growing list of applications that rely on it.
- the [incr Widgets] mega-widget set
- the [incr Tk] framework for building mega-widgets
- namespaces for organizing commands and variables
- support for integrating C/C++ code into [incr Tcl] classes
Recent NewsSee project page at
- Itcl Documentation (can also be downloaded)
- Iwidgets Documentation (download)
- Design Patterns in itcl
- Porting guide for itcl2.x -> itcl3.0
- Frequently Asked Questions (FAQ)
- Cetus Links (object-oriented info featuring [incr Tcl] )
- Tutorial introduction and code examples
More than 150 pages of examples for [incr Tcl], [incr Tk] and [incr Widgets].
- Get the Powered By [incr Tcl] logo for your own web pages
- Join a growing list of contributors
Archive:Recent versions can be found here. Older versions:
- itcl3.0 for tcl8.0.3 / tk8.0.3
- itcl2.2p2 for tcl7.6p2 / tk4.2p2
- itcl2.1 source distribution for tcl7.5 / tk4.1
- itcl2.0 source distribution for tcl7.4 / tk4.0
- itcl-1.5 source distribution for tcl7.3 / tk3.6
- Windows 95/NT/3.1: binary distributions
- itcl82.exe for Windows 95/98/NT
Thanks to Matt Newman for contributing this release!
- itcl22.exe for Windows 95/NT
- Macintosh: binary distributions