Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Incr Tcl

From Wikipedia, the free encyclopedia
(Redirected from Itcl)
Itcl
Paradigmmulti-paradigm: object-oriented, functional, Imperative, event-driven programming
Designed byMichael McLennan
DeveloperMichael McLennan
First appeared1993
Stable release
Itcl4.1.1 / 21 December 2017; 8 years ago (2017-12-21)
Typing disciplinedynamic typing, everything can be treated as a string
LicenseBSD-style
Websiteitcl at SourceForge
Influenced by
Tcl, C++

incr Tcl (commonly stylised as [incr Tcl], and often abbreviated to itcl) 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 [citation needed]. Its name is a pun on "C++". 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.

Overview

[edit]

Features

[edit]

Namespace support

[edit]

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

[edit]

Itcl (like Tcl) has built-in support for the integration of C code into Itcl classes.

See also

[edit]

References

[edit]

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.
[edit]