Version 95 of Tcllib

Updated 2012-02-26 14:04:46 by pooryorick

Overview

Tcllib is a distribution of several packages for Tcl, all written entirely in Tcl, useful in a broad variety of areas. Tcllib has an approximatley yearly release schedule. Version 1.10 has been released September 12, 2007.

A tklib module also exists under the tcllib project, which contains modules that depend on Tk.


Tcllib Location
Where to find and download Tcllib.
Tcllib Installation
How to install and then use Tcllib.
Tcllib Contribution & Feedback
How to contribute to Tcllib, report errors, etc.
Tcllib Contents
List of all the packages found Tcllib tcllib.


When Tcllib was originally released, the following was written:

In response to popular demand, the Tcl core group is introducing tcllib, a Tcl standard library. This meta-package will contain many modules, each of which is itself a standalone Tcl package. The intention is to provide commonly used functions and libraries, bundled together under a single license (BSD), and with no binary dependencies. This will encourage use and growth of the library. Once tcllib is downloaded and installed, users will be able to "package require tcllib" or "package require any_module_in_tcllib".

Releases of tcllib will be made mostly independently of releases of the Tcl/Tk core. This will allow a faster release cycle, which is important in the early stages of development. It is possible that future releases of the core will include a snapshot of the tcllib.

Initially, we have seeded the library with several modules, some written in-house at Scriptics and by the core group:

  * struct:    Tcl implementations of common data structures
  * profiler:  Function level Tcl profiler
  * [cmdline]:   getopt style command-line parser
  * base64:    base64 encoder/decoder
  * fileutil:  Tcl implementations of file utilities (grep, find, ...)
  * [pop3]:      pop3 client
  * math:      math functions (min, max, ...)

A subsequent article said

 From: Dan Kuchler <[email protected]>
 Newsgroups: comp.lang.tcl
 Subject: Re: Math extensions to TCLlib
 Date: Sun, 05 Nov 2000 08:37:57 -0800
 Organization: Ajuba Solutions
 Message-ID: <[email protected]>
 References: <[email protected]>
 To: Morgan <[email protected]>

 Morgan wrote:
 >
 > [interesting proposed changes snipped]
 >
 > Also, are there any specific procedures for contributing to the
 > TCLlib?  Anyone I need to contact or specific software I need to use?
 > Would this go better in a sub-package of the math portion of the TCLlib?
 >

 It's great to hear that you are interested in helping contribute
 to tcllib.  I thought your proposed set of functionality sounded
 interesting.

 Some folks have shown interest in having access to the functionality
 available through the NumPy package (a python package) in tcl.

 This might give you ideas for things that people might want.

 The NumPy package is at:

 http://sourceforge.net/projects/numpy/

 I think the process for volunteering to work on a project there is
 to contact an admin for a project.  Currently [AK] has
 been organizing tcllib development, so it might be worthwhile to
 contact him

 Currently the web page that talks about tcllib (a little out of
 date) is at:

 http://www.purl.org/tcl/home/software/tcllib/

 As far as guidelines for contributing, I think the current
 requirement is that things in tcllib must be able to be
 run in a tcl-only mode (i.e. no binary package dependencies),
 and the contributed code should have either tests or documents,
 but preferably will have both.

 There are good contribution guidelines (that also contain a
 link to the Tcl Sytle Guidelines) at:

 http://www.purl.org/tcl/home/software/tcltk/contributing.tml

 (while that page is focused on contributing to tcl/tk, most
 of it is relevent to tcllib as well).

 I hope that helps get you started!

 --Dan

Info about reporting bugs relating to tcllib was posted:

I'm the primary maintainer of Tcllib, with lots of help from various people in the community who are responsible for different bits. The library now lives at:

http://tcllib.sourceforge.net/

You can submit a bug there. Be sure to include:

- your name - your email address (so you can be contacted when the bug is fixed) - a description of the behavior you expected to see - a description of the behavior you actually saw - the version of Tcl you are using - the version of tcllib you are using - the os you are using, and the version of the os - anything else you think might be relevant

A sample script demonstrating the problem is always very helpful.

   Eric Melski                            The Other Tcl Guy
   ericm at interwoven.com                Interwoven, Inc.

Cameron Laird has, at least in principle, sanction to comment and update tcllib. So far I've worked mostly with mime, base64, smtp, ftp, pop3, ... If you're having tcllib problems, do get in touch with me [L1 ]; it might be something I've already studied, without having yet checked in an update.


25 May 2004 Has the tcllib team considered adding some form of Michael Cleverly's package, nstcl? http://michael.cleverly.com/nstcl/ While most functionality is duplicated in the current distribution of tcllib, the nsset datatype is a wonderful thing to have; an indexed array! index - key - value ]. His api has some commands to utilize it as well. As an aolserver tcl coder, I work with it extensively and for me it renders the array command obsolete.

   set id [ns_set create]
   %t2
   ns_set put $id fname Michael
   %0
   ns_set put $id lname Cleverly
   %1
   ns_set get $id fname
   %Michael

As documented above, it generally isn't a matter of some team determining whether some code is worthy to add. It is typically a matter of some interested party contacting the tcllib maintainers to work out the details of their adding a new module to the library. Why not contact Michael and ask if he would like to add his code to tcllib? Over the years, it has turned out to work better if the author is involved with this process, so that no misunderstandings, etc. occur.


There is also a discussion of How to start with tcllib


Aku has taken to writing occasional but welcome Tcllib Messages of the Day (TMotD) for the mailing list.