Version 13 of Official library of extensions

Updated 2003-02-14 09:41:46

Initiated by Bryan Oakley on news:comp.lang.tcl Dejanews thread waaayyy back in early 1999: [L1 ]


For some reason, someone felt it necessary to create Tcl core extension syntax.


Extensions which are already considered as official and included in the standard distribution of Tcl or Tk. [by whom? Who makes the decision that Tk is official and other extensions are not?] [I don't really get this official-vs-unofficial thing. What the community needs is a _large_ BI release which the community can update regularly and easily themselves. That'll never happen with some official thing that has a bottleneck of one or two people (or even 10 people) as gatekeepers -- there are too many extensions and too many platforms that they need to be compiled on. Perhaps one acceptable half-way situation would be that there's a bottleneck on who can *add* new modules, but then anyone can compile an existing module and upload the platform specific binary for their platform.]

[Here's my take on the deal. The TCT has a limited number of resources. They have volunteered to oversee the development and maintenance of Tcl and Tk. They do not have the time or energy to develop and maintain thousands of other extensions. So this page reflects those extensions to Tcl that the TCT is shepherding. If someone wants them to include another extension into this group, they need to submit a TIP for that action, discuss it over with the TCT, and work with them to get things done. See the Batteries Included page for a list of those people in the community working towards a central repository. If someone in the community wants to see something different than this, then they can feel free to start making it happen in some positive manner.]

In Tcl, there is:


Thread - an extension that provides thread-support for Tcl (assuming that thread-support is present in the core at all; it's a compile-time option.)


Tk - a seperate source and binary distribution

Are there any additional extensions that come in Tk?


Tcllib: pure-Tcl extension from http://sourceforge.net/projects/tcllib/

The 1.1 version of tcllib includes the following modules:

  • base64 Base64 encoder and decoder.
  • cmdline Command line argument processor similar to opt.
  • comm Socket based send command, communication
  • control New control structures/commands
  • counter Event counters, interval timers, and histogram display
  • csv Handling of comma separated data, arbitrary separators, not just comma
  • fileutil Tcl implementations of some standard Unix utilities.
  • ftp Implementation of an ftp client..
  • ftpd FTP server
  • html HTML generation procedures. This uses ncgi.
  • htmlparse Parsing HTML strings
  • javascript Javascript generation procedures
  • log Customizable logging and tracing
  • math Common math functions like min, max, and others.
  • md5 MD5 secure hash
  • mime MIME encoder and decoder.
  • ncgi New CGI processing module.
  • nntp Network news transport protocol client support
  • pop3 POP3 protocol implementation
  • profiler Function level Tcl source code profiler
  • report Tabular reports for matrices
  • sha1 SHA1 secure hash
  • smtp Simple mail transport protocol implementation. Part of mime.
  • struct Tcl implementations of common data structures (tree, stack, graph)
  • textutil Additional string manipulatrion utilities.
  • uri Manipulate universal resource indicators/location strings

Tklib: pure-Tcl extension from http://sourceforge.net/projects/tcllib/


Proposed extensions:


Others: Object-Oriented support, megawidgets, ensembles, telnet, more image file format support - like png, jpg, etc., more Tk widgets, generic database interface, replacement for send that works cross platform and without requiring x, drag and drop,...

Remark: The proposed extensions are something I believe that most will agree should be part of the library. In the "Others" section I listed everything else I could remember. We might have to discuss their placement.

-- AK