FACTOID # 157: People trust Swedes! Swedish companies are the world’s least-likely to be perceived as paying bribes.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "Tcl" also viewed:
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Tcl
Image:Tcl.svg
Paradigm: multi-paradigm: object-oriented, functional, procedural, event-driven programming
Appeared in: 1988
Designed by: John Ousterhout
Developer: John Ousterhout
Latest release: 8.5a6 / April 26, 2007
Typing discipline: dynamic typing, everything can be treated as a string
Major implementations: ActiveTcl

Tcl (originally from "Tool Command Language", but nonetheless conventionally rendered as "Tcl" rather than "TCL"; and pronounced "tickle") is a scripting language created by John Ousterhout. Originally "born out of frustration"[1]—according to the author—with programmers devising their own (poor quality) languages[citation needed] intended to be embedded into applications, Tcl quickly gained wide acceptance[citation needed] on its own and is generally thought to be easy to learn[citation needed], but powerful in competent hands. It is most commonly used for rapid prototyping, scripted applications, GUIs and testing[citation needed]. Tcl is used extensively on embedded systems platforms[citation needed], both in its full form and in several other small-footprinted versions[citation needed]. Tcl is also used for CGI scripting. Tcl is also used as the scripting language for eggdrop bots. Image File history File links This is a lossless scalable vector image. ... A programming paradigm is a paradigmatic style of programming (compare with a methodology, which is a paradigmatic style of doing software engineering). ... A multiparadigm programming language is a programming language that supports more than one programming paradigm. ... Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ... Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ... This does not adequately cite its references or sources. ... Event-driven programming is a computer programming paradigm. ... Year 1988 (MCMLXXXVIII) was a leap year starting on Friday (link displays 1988 Gregorian calendar). ... John Ousterhout is the original force behind the scripting programming language Tcl and the platform-independent GUI toolkit Tk, which he developed when he was professor at the University of California, Berkeley. ... A software developer is a person who is concerned with one or more facets of the software development process, a somewhat broader scope of computer programming or a specialty of project managing. ... A software release refers to the creation and availability of a new version of a computer software product. ... is the 116th day of the year (117th in leap years) in the Gregorian calendar. ... Year 2007 (MMVII) is the current year, a common year starting on Monday of the Gregorian calendar and the AD/CE era. ... In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ... In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ... In various branches of mathematics and computer science, strings are sequences of various simple objects (symbols, tokens, characters, etc. ... Look up Implementation in Wiktionary, the free dictionary. ... Screenshot of Komodo IDE for python programming language. ... Scripting languages (commonly called scripting programming languages or script languages) are computer programming languages that are typically interpreted and can be typed directly from a keyboard. ... John Ousterhout is the original force behind the scripting programming language Tcl and the platform-independent GUI toolkit Tk, which he developed when he was professor at the University of California, Berkeley. ... A rapid prototyping machine using Selective laser sintering. ... The Common Gateway Interface (CGI) is a standard protocol for interfacing external application software with an information server, commonly a web server. ... Eggdrop is a popular IRC bot. ...


The combination of Tcl and the Tk GUI toolkit is referred to as Tcl/Tk[citation needed]. In computing, Tk is an open source, cross-platform widget toolkit, that is, a library of basic elements for building a graphical user interface (GUI). ... In computer programming, widget toolkits (or GUI toolkits) are sets of basic building units for graphical user interfaces. ...

Contents

Features

Tcl's features include:

  • Everything is a command, including language structures. They are in Polish notation.
  • Everything can be dynamically redefined and overridden.
  • All data types can be manipulated as strings, including code.
  • Extremely simple syntactic rules.
  • Event-driven interface to sockets and files. Time based and user defined events are also possible.
  • Flexible scope, with variable visibility restricted to lexical (static) scope by default, but uplevel and upvar allowing procs to interact with the enclosing functions' scopes.
  • Simple exception handling using exception code returned by all command executions.
  • Readily extensible, via C, C++, Java, and Tcl.
  • Interpreted language using bytecode for improved speed whilst maintaining dynamic modifiability
  • Full Unicode (3.1) support, first released 1999.
  • Platform independent: Win32, UNIX, Linux, Mac, etc.
  • Close integration with windowing (GUI) interface Tk.
  • Easy to maintain code. Tcl scripts are often more compact and readable than functionally equivalent code in other languages.
  • Can be used for many purposes, and in many environments: as a text-only scripted language, as a GUI-capable language for applications, as an embedded language in: web pages (server-side; or client-side, as Tclets), and databases (server-side, in PostgreSQL).
  • Exists as development version (e. g. ActiveState Tcl), as tclkit (kind of runtime version, only about 1 megabyte in size), as starpack (single-file executable of a script/program), as BSD licensed freely distributable source

Tcl did not originally support object oriented syntax, being a functional language, but recent versions do support extensions which provide OO functionality, such as the XOTcl extension to Tcl. Other OO extensions also exist, such as incr Tcl, Snit, and STOOOP (simple tcl-only object-oriented programming). Command has multiple meanings: An order. ... It has been suggested that this article or section be merged with Reverse Polish notation. ... A data type is a constraint placed upon the interpretation of data in a type system in computer programming. ... In computer programming and formal language theory, (and other branches of mathematics), a string is an ordered sequence of symbols. ... In communications, a code is a rule for converting a piece of information (for example, a letter, word, or phrase) into another form or representation, not necessarily of the same type. ... For other uses, see Syntax (disambiguation). ... Event-driven programming is a computer programming paradigm. ... A socket generally designates a cavity or region used for fitting and connecting some specific device. ... A computer file is a collection of information that is stored in a computer system and can be identified by its full path name. ... In computer programming in general, a scope is an enclosing context. ... Uplevel is a command in Tcl that allows a command script to be executed in a scope other than the current innermost scope on the stack. ... Extensibility is a system design principle where the current implementation takes into consideration future growth. ... C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ... C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ... Java is a programming language originally developed by Sun Microsystems and released in 1995. ... In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ... Bytecode is a binary representation of an executable program designed to be executed by a virtual machine rather than by dedicated hardware. ... Unicode is an industry standard designed to allow text and symbols from all of the writing systems of the world to be consistently represented and manipulated by computers. ... Windows API is a set of APIs, (application programming interfaces) available in the Microsoft Windows operating systems. ... Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®) is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... Linux (IPA pronunciation: ) is a Unix-like computer operating system. ... The first Macintosh computer, introduced in 1984, upgraded to a 512K Fat Mac. The Macintosh or Mac, is a line of personal computers designed, developed, manufactured, and marketed by Apple Computer. ... GUI can refer to the following: GUI is short for graphical user interface, a term used to describe a type of interface in computing. ... In computing, Tk is an open source, cross-platform widget toolkit, that is, a library of basic elements for building a graphical user interface (GUI). ... PostgreSQL is a free software object-relational database management system (ORDBMS), released under a BSD-style license. ... Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ... XOTcl is an object-oriented extension for the reflective Tool Command Language, Tcl. ... incr Tcl (the name is a pun on C++, and often abbreviated to itcl) is a set of object-oriented extensions for the Tcl programming language. ... The introduction to this article provides insufficient context for those unfamiliar with the subject matter. ...


Functional programming can easily be done in Tcl, as higher-order functions or functional abstractions are built into the language, though it is not widely used for this purpose. As an example, consider the ease with which two functions can be composed: Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ...

 proc o {f g x} {$f [$g $x]} 

Syntax

Very simple and consistent syntax

Tcl has a very simple syntax which is applied in a consistent way. A Tcl script consists of several commands. A command is a list of words separated by whitespace.

 word0 word1 word2 ... wordN 

The first word is the name of a command, which is not built into the language, but which is in the library. The following words are arguments. So we have:

 commandName argument1 argument2 ... argumentN 

Any argument may be replaced by another command in square brackets. The subcommand is evaluated first and the result is substituted as the argument. Alternatively, any argument placed in curly braces will not be evaluated, but rather will be handed directly back to the original command as an argument.


To summarize: there is one basic construct (the command) and a set of simple substitution rules, and only the square brackets, the curly braces, quotes, and the backslash have special meaning. The single equality sign (=) for example is not used at all, and the double equality sign (==) is the test for equality, and even then only in the expr command.


All commands have the same structure: a keyword which is followed by several parameters. A command is terminated by a newline or a semicolon. Even comments are just commands which happen to do nothing.


Tcl is not statically typed: each variable may contain integers, floats, strings, lists or any other value.


Symbols with a special meaning

$ variable substitution (e.g. $argv0 might be replaced by /usr/bin/somescript.tcl)
[] subcommand substitution (e.g. [pwd] might be replaced by /home/joe)
"" word grouping with substitutions (e.g. "you are $user" is one word; substitution still occurs)
{} word grouping without substitutions (e.g. {you are $user} is one word, where $user is not replaced)
backslash substitution/escape (see Tcl documentation for full list) or statement continuation (by default, statement ends with the line)
# comment (only at the beginning of a statement)
; statement separator
:: namespace path separator for variables or commands (e.g. ::foo::bar)

Some examples of commands

Assignments are made with the command set, no equality sign.

 set variable value 

'While' loops are implemented by the command while which takes two arguments. The first argument is a Tcl expression (expressions are written in what is essentially a miniature language for doing C-style math and comparison expressions). The second argument is the script to run on every iteration. They are generally put in curly braces to avoid immediate execution.

 while { [aTclCommandWhichEvaluatesToABoolean] } { aTclCommand anotherTclCommand .... } 

If command

 if {$x < 0} { set x 0 } 

Switch command

 switch -glob -- $var { {see} - {saw} - {seen} { puts “All mean the same thing!”} } 

Commands may have no arguments

 pwd 

gives back the current working directory. With

 set wdir [pwd] 

you store the string describing the working directory in the variable wdir.


A command may give back as a result a list

 glob aPattern 

gives back a list of file names in the working directory whose names match aPattern.


Procedures

Procedures are defined as follows

 proc nameOfProc { argumentList } { .... .... } 

Associative arrays

The following code snippet creates and initializes an associative array which in other languages is called a map, dictionary, or hash table. An associative array (also map, hash, dictionary, finite map, lookup table, and in query-processing an index or index file) is an abstract data type composed of a collection of keys and a collection of values, where each key is associated with one value. ...

 set capital(France) Paris set capital(Italy) Rome set capital(Germany) Berlin set capital(Poland) Warsaw set capital(Russia) Moscow set capital(Spain) Madrid 

To query it and put the result on standard output use

 puts $capital(Italy) 

To get a list of all countries for which a capital is defined use

 array names capital 

The result is unsorted because Tcl arrays are based on hash tables. In computer science, a hash table is a data structure that speeds up searching for information by a particular aspect of that information, called a key. ...

 Poland Spain Russia Germany Italy France 

If you like to have it sorted use

 lsort [array names capital] 

Note however that arrays are collections of variables, not first-class objects, and cannot be freely passed around the way strings are. The commands In computing, a first-class object (also -value, -entity, -citizen), in the context of a particular programming language, is an entity which can be used in programs without restriction (when compared to other kinds of objects in the same language). ...

 set CapitalCopy $capital 

and

 DoSomethingWith $capital 

both produce the error message

 can't read "capital": variable is array 

In general, note that Tcl has a different concept of references than some people might expect. To refer to an array (to pass it by reference), give its variable name: In general, a reference is something that refers to or designates something else, or acts as a connection or a link between two things. ...

 proc demo { arrName } { upvar 1 $arrName arr ;# tie the reference to a local name #do something with arr } 

To pass the contents of an array by value, use array get or array set. For example, to copy one array to another:

 array set Newarr [array get Oldarr] 

For pure-value associative arrays, Tcl introduced the dict type in version 8.5.


Variable scope

For a more detailed explanation of variable scope in tcl, visit here.


When referring to variables inside a procedure, the program will (by default) only recognize variables that were also defined in that procedure. Another way of saying this is that the program will only recognize local variables by default. In computer science, a local variable is a variable that is given local scope. ...


Here is an example program:

 #! /usr/bin/env tclsh set gvar "123" ; # this is a variable created in the global namespace proc nest1 {} { set lvar "This is a test" ; #a local definition of lvar (a variable within the local namespace) puts "$lvar" ; # this variable is local to nest puts "$gvar" } nest1 puts "$lvar" 

On line 6, the command 'puts "$gvar"' will create an error because it is technically only referring to the variable with that name that is also within the local namespace. However, there is no variable "gvar" within that local namespace because gvar was not declared in the nest1 namespace.


Also, on line 9, the command 'puts "$lvar"' will create an error because it is looking for a variable called lvar within the current namespace (which happens to be the global namespace). Since there is no lvar that was globally declared, an error will occur.


This will fix the first problem:

 ... proc nest1 {} { global gvar set lvar "This is a test" puts "$lvar" ; # this variable is local to nest puts "$gvar" } nest1 puts "$lvar" 

The global call specifically told the program to look for the subsequent variables in the global namespace. But this still doesn't fix the second problem. If you want to be able to recall the variable lvar from global scope, you need to declare it as being within the global scope. Here is how you could accomplish that:

 ... proc nest1 {} { set ::lvar "This is a test" puts "$::lvar" ; # this variable is local to nest puts "$::gvar" } ... 

By adding the namespace path separator '::' without specifying a sub-namespace (for example '::IAmASubNamespace'), you have made it clear to the program that you are actually declaring and defining a variable inside the global namespace.


If you are doing something where speed really matters, you can find that relevant information at here.


Extension packages

The Tcl language has always supported extension packages, which provide additional functionality (such as a GUI, terminal-based application automation, database access, etc.)


The most popular Tcl extension is the Tk toolkit, which provides a graphical user interface library for a variety of operating systems. Each GUI consists of one or more frames. Each frame has a layout manager. In computing, Tk is an open source, cross-platform widget toolkit, that is, a library of basic elements for building a graphical user interface (GUI). ... A graphical user interface (GUI) is a type of user interface which allows people to interact with a computer and computer-controlled devices which employ graphical icons, visual indicators or special graphical elements called widgets, along with text labels or text navigation to represent the information and actions available to... // An operating system (OS) is a set of computer programs that manage the hardware and software resources of a computer. ...


Itcl/IncrTcl

Please see the full article at Itcl incr Tcl (the name is a pun on C++, and often abbreviated to itcl) is a set of object-oriented extensions for the Tcl programming language. ...


Tcllib

Please see the full article at Tcllib Tcllib is a collection of packages available for the Tcl programming language. ...


C++ Interoperability

Please see the full article at C++/Tcl C++/Tcl is a software programming library interface which allows the integration of C++ into Tcl and vice versa. ...


Java Interoperability

Please see the full article at Tcl/Java Tcl/Java is a project to bridge Tcl and Java. ...


Databases

A number of database extensions are available:

  • tclodbc
  • mk4tcl
  • sqlite
  • Pgtcl, pgintcl
  • mysqltcl, msqltcl
  • AdabasTcl
  • FBSQL
  • ibtcl
  • Oratcl
  • Sybtcl
  • db2tcl
  • and many, many others - see the Tcl/Tk Wiki, specifically the Tcl/Tk Wiki Database Category.

Tk

Please see the full article at Tk Tk is an open source, cross-platform widget toolkit, that is, a library of basic elements for building a graphical user interface (GUI). ...


Examples

Hello, world!

 puts "Hello, world!" 

or

 puts {Hello, world!} 

Adding Numbers

Method (A) - Adding using a 'foreach' loop

 set numbers {1 2 3 4 5 6 7 8 9 10} set result 0 foreach number $numbers { set result [expr {$result + $number}] } puts $result 

Method (B) - A much more elegant way of adding numbers using the 'join' command

 set numbers {1 2 3 4 5 6 7 8 9 10} puts [expr [join $numbers +]] 

Echo server

A simple working example, demonstrating event-based handling of a socket, follows.

 #!/usr/bin/env tclsh # echo server that can handle multiple # simultaneous connections. proc newConnection { sock addr port } { # client connections will be handled in # line-buffered, non-blocking mode fconfigure $sock -blocking no -buffering line # call handleData when socket is readable fileevent $sock readable [ list handleData $sock ] } proc handleData { sock } { puts -nonewline $sock [ gets $sock ] if { [ eof $sock ] } { close $sock } } # handle all connections to port given # as argument when server was invoked # by calling newConnection set port [ lindex $argv 0 ] socket -server newConnection $port # enter the event loop by waiting # on a dummy variable that is otherwise # unused. vwait forever 

Digital clock

Another example using Tk (from A simple A/D clock) and timer events, a digital clock in three lines of code:

 proc every {ms body} { eval $body after $ms [list every $ms $body] } pack [label .clock -textvar time] every 1000 {set ::time [clock format [clock seconds] -format %H:%M:%S]} ;# RS 

Explanation: the first line defines a command, "every", which re-schedules an action ('body') every 'ms' milliseconds; the second creates a label whose content is bound to the variable 'time'; the third line arranges so that the variable 'time' is updated to formatted local time every second.


Note that the "every" command treats its first parameter as a number and its second parameter as a script, resulting in correct calls being those programs that pass in arguments that look like those pieces of syntax. However, the Tcl interpreter assigns no special syntactic interpretation to either argument, meaning that the code is free to interpret those arguments as desired. (By contrast, a language using a conventional BNF description could only achieve the equivalent functionality by defining "every" as a keyword, adding extra syntax to mark the executable argument, or by making the curly braces deeply magical indeed, possibly requiring a more complex declaration.)


List of content of associative array

In array tcl_platform, platform-specific properties are kept. A list of the names of the properties is obtained by

 array names tcl_platform 

The following snippet lists them together with their values

 foreach i [array names tcl_platform] { puts [ concat $i= $tcl_platform($i) ] } 

If the properties should be sorted

 foreach i [lsort [array names tcl_platform] ] { puts [ concat $i= $tcl_platform($i) ] } 

This demonstrates how commands may be nested. In fact they may be nested to any depth. If you want it fancier (keys padded with blanks so that the equal signs align) just use the proc parray that comes delivered with Tcl.


Intersection of two sets

The filter procedure returns those elements of the list where the script returns TRUE:

 proc filter {list script} { set res {} foreach e $list {if {[uplevel 1 $script $e]} {lappend res $e}} return $res } 

The in procedure is shorthand for list inclusion:

 proc in {list e} { expr {[lsearch -exact $list $e]>=0} } 

Testing:

 % filter {a b c} {in {b c d}} b c 

Factorial

 proc ! x {expr {$x<2? 1: $x*[! [incr x -1]]}} 

This demonstrates that any string can be a command name, and the ?: operator as from C is available in Tcl expressions too. Also, recursion is easily possible, although Tcl has no tail call optimisation so the maximum depth of recursion is restricted.


History

The Tcl programming language was created in the spring of 1988 by John Ousterhout while working at the University of California, Berkeley. John Ousterhout is the original force behind the scripting programming language Tcl and the platform-independent GUI toolkit Tk, which he developed when he was professor at the University of California, Berkeley. ... Sather tower (the Campanile) looking out over the San Francisco Bay and Mount Tamalpais. ...

Timeline
Date Event
January 1990 Tcl announced beyond Berkeley (Winter USENIX).
June 1990 Expect announced (Summer USENIX).
January 1991 First announcement of Tk (Winter USENIX).
June 1993 First Tcl/Tk conference (Berkeley). [table] geometry manager (forerunner of [grid]), [incr Tcl], TclDP and Groupkit, announced there.
September 2002 Ninth Tcl/Tk conference (Vancouver). Announcement of starkit packaging system.

(Need rest of potted history!) Year 1990 (MCMXC) was a common year starting on Monday (link displays the 1990 Gregorian calendar). ... The USENIX Association is the Advanced Computing Technical Association. ... Year 1990 (MCMXC) was a common year starting on Monday (link displays the 1990 Gregorian calendar). ... Expect is a Unix automation and testing tool, written by Don Libes, for interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, ssh, and others. ... Year 1991 (MCMXCI) was a common year starting on Tuesday (link will display the 1991 Gregorian calendar). ... In computing, Tk is an open source, cross-platform widget toolkit, that is, a library of basic elements for building a graphical user interface (GUI). ... Year 1993 (MCMXCIII) was a common year starting on Friday (link will display full 1993 Gregorian calendar). ... For album titles with the same name, see 2002 (album). ...


Tcl conferences and workshops are held in both the United States and Europe.

References

  • John K. Ousterhout, Tcl and the Tk Toolkit, Addison-Wesley, Reading, MA, USA, ISBN 0-201-63337-X, 1994.
  • Brent B. Welch, Practical Programming in Tcl and Tk, Prentice Hall, Upper Saddle River, NJ, USA, ISBN 0-13-038560-3, 2003.
  • J Adrian Zimmer, Tcl/Tk for Programmers, IEEE Computer Society, distributed by John Wiley and Sons, ISBN 0-8186-8515-8, 1998. (Several chapters available online.)
  • Mark Harrison and Michael McLennan, Effective Tcl/Tk Programming, Addison-Wesley, Reading, MA, USA, ISBN 0-201-63474-0, 1998
  • Mark Harrison (ed), Tcl/Tk Tools, O'Reilly Media, ISBN 1-56592-218-2, 1997

Pearson can mean Pearson PLC the media conglomerate. ... Pearson can mean Pearson PLC the media conglomerate. ... An organizational unit of the Institute of Electrical and Electronics Engineers (IEEE), established in 1963 when the American Institute of Electrical Engineers (AIEE) and the Institute of Radio Engineers (IRE) merged to create the IEEE. At the time of the merger, the AIEE&#8217;s Subcommittee on Large-Scale Computing... Pearson can mean Pearson PLC the media conglomerate. ... Programming Perl is a classic OReilly book. ...

Notes

  1. ^ From the inside flap of Tcl and the Tk Toolkit

See also

Wikibooks
Wikibooks has a book on the topic of

Image File history File links Wikibooks-logo-en. ... Wikibooks logo Wikibooks, previously called Wikimedia Free Textbook Project and Wikimedia-Textbooks, is a wiki for the creation of books. ... In computing, Tk is an open source, cross-platform widget toolkit, that is, a library of basic elements for building a graphical user interface (GUI). ... Expect is a Unix automation and testing tool, written by Don Libes, for interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, ssh, and others. ... incr Tcl (the name is a pun on C++, and often abbreviated to itcl) is a set of object-oriented extensions for the Tcl programming language. ... Tcllib is a collection of packages available for the Tcl programming language. ... Eggdrop is a popular IRC bot. ... C++/Tcl is a software programming library interface which allows the integration of C++ into Tcl and vice versa. ... Tcl/Java is a project to bridge Tcl and Java. ... Itk is a framework for building mega-widgets using the [incr Tcl] object system. ... SQLite is an ACID-compliant relational database management system contained in a relatively small C library. ... Screenshot of Komodo IDE for python programming language. ... AOLserver is America Onlines open source web server. ... The OpenACS logo The Open Architecture Community System (OpenACS) is an advanced open-source toolkit for developing community web applications licensed under the terms of the GNU GPL. The Open Architecture Community System provides: A large set of applications, that can be used to deploy web sites that are strong... XOTcl is an object-oriented extension for the reflective Tool Command Language, Tcl. ... The introduction to this article provides insufficient context for those unfamiliar with the subject matter. ... TclX Extends the Tcl programming language by providing new operating system interface commands, extended file control, scanning and status commands and many others. ...

External links



 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.