Cameron Laird's personal notes on TclKit March, 2000: I'm planning big expansions of this page. Look for more explanations of how to use TclKit effectively.

Table of contents

What it is

Tclkit is ... [Explain Tcl, plus-patches, Stubs (untested?) (but close to home), MetaKit, zlib from Trf, ...] [Explain deployability.] [The Wiki has much more information.]

Jean-Claude introduces TclKit, with special attention to its compression capabilities. He also writes a good README, which the pace of change makes quite a challenge.

The MetaKit Wiki is the home for TclKit documentation.

"TclKit solves problems" is a "Tcl Counselor" column I did in October 2000 that introduces TclKit, and especially its virtual file system (vfs), as a solution to deployment challenges.

[Explain column.]

MacOS X has interesting resonances with TclKit benefits. TclKit is moving in the direction of VFS(s?) which encapsulate all the resources an application needs, including source files, data files, URLs, ... Notice that MacOS packages, as usual for that tradition, are pretty for users, and painful for programmers, for whom the file system still must be maintained as directories with files. In MacOS X terms, a scripted document is a single file to a user, but provides full visibility of conventional directories to its developer(s).

Jean-Claude maintains MetaKit at Sourceforge. Not only is everything public, but the mailing list is active, and, even more, highly literate. Over its first half-year of operation, the mailing list has distinguished itself by its consistency at resolving questions in a profound way. This reflects Jean-Claude's deep commitment to getting MK right.

pre-release news Wiki

KitViewer is "a simple Windows utility to browse MetaKit datafiles. It is based on MK 2.3.2 and hence reads all MetaKit datafile formats."

What you can do with it: concepts and tutorials

You can install a Tcl application on a bare machine with just two files: the TclKit executable, and the conventional Tcl script which defines you application. This is a contrast with the conventional distribution of Tcl, which involves several files, usually a shared-object library, perhaps registry twiddling, and so on. There are reasons for both models [explain], of course. The point of this page is simply that TclKit fulfills the promise of its design.

[Most tutorials available through Wiki. Annotate.]

[Tutorial on source packaging.] [TC]

[Tutorial on persistence.]

[Tutorial on file-system packaging.]

[Reference to introspective and configuration mechanisms.]

[Tutorials for WiKit, Tequila, ...]

[Mention the mailing list.]

You can start a DISPLAY-less Tcl session, then package require Tk. This is more important than you might first realize; Jean-Claude begins to explain why.

[Examples of MK, updates, scripted-document portability, ...]

[Explain how MK is about more than just deployment.]

The first script stored inside the datafile is normally a fixed utility script, called 'cli.tcl' ...": this introduction is crucial to the cli conveniences and introspections. For the persistence capabilities, see the "Metakit for Tcl" documentation.

WiKit showcases TclKit's capabilities.

Why "installation" is an offense

[explanations]

My connection to TclKit

TclKit infatuates me. I've published articles on it under such titles as "TclKit Solves Problems", "Tcl and Database Managers", "XSLT Powers a New Wave of Web Applications", ... [others still to locate] ...

Jean-Claude Wippler is TclKit's author. He's also a friend and colleague. TclKit would make a powerful impression on me even if that weren't true, though.

If you decide to use TclKit, I derive no direct material benefit--in fact, neither does Jean-Claude, for he gives away the executables. He does expect, though, that embedding MetaKit in TclKit will be an effective advertisement of MK's capabilities. I hope it sells a jillion; I like MetaKit enough that I've bought a development license, and expect to buy more. However, I don't believe any of this matters much to most prospective TclKit users. I simply think they should know what a slick package it is, and what it can do for them.

I created this page to simplify my own work, as I occasionally need to explain TclKit to others.


Cameron Laird's personal notes on TclKit/claird@phaseit.net