Itcl
Encyclopedia
incr Tcl is a set of object-oriented extensions for the Tcl programming language
. It is widely used among the Tcl community, and is generally regarded as industrial strength . Itcl implementations exist as both a package that may be dynamically loaded by a Tcl
application, as well as an independent standalone language with its own interpreter.
Example:
Tcl
Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...
. It is widely used among the Tcl community, and is generally regarded as industrial strength . Itcl implementations exist as both a package that may be dynamically loaded by a Tcl
Tcl
Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...
application, as well as an independent standalone language with its own interpreter.
Namespace support
Itcl allows namespaces to be used for organizing commands and variables.Example:
package require Itcl
itcl::class Toaster {
variable crumbs 0
method toast {nslices} {
if {$crumbs > 50} {
error " FIRE! FIRE!
"
}
set crumbs [expr $crumbs+4*$nslices]
}
method clean {} {
set crumbs 0
}
}
itcl::class SmartToaster {
inherit Toaster
method toast {nslices} {
if {$crumbs > 40} {
clean
}
return [chain $nslices]
}
}
set toaster [SmartToaster #auto]
$toaster toast 2
C code integration
Itcl (like Tcl) has built-in support for the integration of C code into Itcl classes.Licensing
Itcl follows the same copyright restrictions as Tcl/Tk. You can use, copy, modify and even redistribute this software without any written agreement or royalty, provided that you keep all copyright notices intact. You cannot claim ownership of the software; the authors and their institutions retain ownership, as described in the "license.terms" files included in the standard distribution. For more information please see incrtcl.sourceforge.net/itcl/copyright.html.See also
- OTclOTclOTcl usually refers to an object oriented extension of Tcl created by David Wetherall at MIT. It is used in network simulator and usually run under Unix environment...
- XOTclXOTclXOTcl is an object-oriented extension for the Tool Command Language created by Gustaf Neumann and Uwe Zdun. It is an extension of the MIT OTcl. XOTcl supports metaclasses. Class and method definitions are completely dynamic...
- SnitSnitSnit is an object-oriented extension to the Tcl programming language. Snit is a recursive acronym that stands for "Snit's Not Incr Tcl." Snit is a pure Tcl object and megawidget system. It is unique among Tcl object systems in that it is based not on inheritance but on delegation...
- TclTclTcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...
- TcllibTcllibTcllib is a collection of packages available for the Tcl programming language. Tcllib is distributed in both source code as well as pre-compiled binary formats...
- C++/TclC++/TclC++/Tcl is a software programming library interface which allows the integration of C++ into Tcl and vice versa.The C++/Tcl library was inspired by the Boost.Python library and was designed to provide a similar interface....
- ItkItkItk is a framework for building mega-widgets using the [incr Tcl] object system. Mega-widgets are high-level widgets like a file browser or a tab notebook that act like ordinary Tk widgets but are constructed using Tk widgets as component parts, without having to write C code. In effect, a...
- Tk (framework)Tk (framework)Tk is an open source, cross-platform widget toolkit that provides a library of basic elements for building a graphical user interface in many different programming languages....
External links
- Itcl/incr Tcl project page
- Tcl package site
- tclweb project (there is a mailing list maintained at this site)