From Wikipedia, the free encyclopedia

OTcl usually refers to an object oriented extension of Tcl created by David Wetherall at MIT (hence the name OTcl—short for MIT Object Tcl).[1] It is used in network simulator (NS-2) and usually run under Unix environment.[2] This was later extended into XOTcl.

OTcl may also refer to the unrelated IXI Object Tcl extension by Dean Sheenan.

These object Tcl extensions predate the more popular incr Tcl.

Syntax Introduction[edit]

The reserved word Class is used to represent class and method of class are declared using word instproc.[2] The variable self is pointer to the class it is used in and is equivalent to variable this of C++/Java. The keyword -superclass is used for defining hierarchy.[2] For example, Class Son -superclass Father means that class Son inherits from class Father. To create an instance of class son we can write set new_inst [new Son]. Following is a simple example of code.

 Class HelloWorld
 HelloWorld instproc hello {} {
 	puts "Hello world"
 set helloworld [new HelloWorld]
 //to run
$helloworld hello


TclCL (Tcl with classes) is a Tcl/C++ interface used by Mash, vic, vat, rtp_play, ns, and nam. It provides a layer of C++ glue over OTcl.[3]

See also[edit]


  1. ^ OTcl Project Page
  2. ^ a b c Eitan Altman and Tania Jiménez, NS Simulator for beginners, Lecture notes, 2003-2004, Univ. de Los Andres, Merida, Venezuela and ESSI, Sophia-Antipolis, France
  3. ^ TclCL Project Page