- Itcl
Infobox programming language
name = Itcl
paradigm = multi-paradigm: object-oriented, functional, Imperative,event-driven programming
year = 1993
designer = [http://incrtcl.sourceforge.net/itcl/mmc/index.html Michael McLennan]
developer = [http://incrtcl.sourceforge.net/itcl/mmc/index.html Michael McLennan]
latest_release_version = itcl3.4
latest_release_date =
typing =dynamic typing , everything can be treated as a string
implementations =
dialects =
influenced_by =Tcl ,C++
influenced =incr Tcl (the name is a pun on "
C++ ", and often abbreviated to "itcl") is a set of object-oriented extensions for theTcl programming language . It is widely used among the Tcl community, and is generally regarded asindustrial strength Fact|date=June 2007. Itcl implementations exist as both a package that may be dynamically loaded by aTcl application, as well as an independent standalone language with its own interpreter.Overview
Features
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 [http://incrtcl.sourceforge.net/itcl/copyright.html incrtcl.sourceforge.net/itcl/copyright.html] .ee also
*
XOTcl
*Snit
*Tcl
*Tcllib
*C++/Tcl
*Itk
*TkExternal links
* [http://incrtcl.sourceforge.net/itcl/ Itcl/incr Tcl project page]
* [http://purl.org/tcl/package/itcl/ Tcl package site]
* [http://sf.net/projects/tclweb/ tclweb project] (there is a mailing list maintained at this site)References
" [incr Tcl] from the Ground Up" by Chad Smith, published in January 2000.:This is a complete reference manual for [incr Tcl] , covering language fundamentals, OO design issues, overloading, code reuse, multiple inheritance, abstract base classes, and performance issues. Despite its breadth, it follows a tutorial, rather than encyclopedic, approach. This book is out of print as of September 2004.
Wikimedia Foundation. 2010.