Snit's Not Incr Tcl
A Truly Tcl Type System
- Snit V1.0 is now available (fanfare of trumpets!).
Functionally, it's identical to Snit V0.97; it does include some
minor optimizations and a couple of minor bug fixes. If you're
happy with V0.97, there's no compelling reason to upgrade,
except for the glory of typing "package require snit 1.0".
See README.txt for the release notes, and
the Snit man page.
- Snit V0.97 is now available, with a few new optimizations and
features, and a couple of bug fixes.
- Snit V0.95 is now available, with many new features. I expect
V1.0 to be pretty much the same as V0.95, minus any bugs we
- So far Snit has proven to be a very successful experiment,
but its current design and syntax is the product of its
experimental history. It's now time to consider what Snit
should look like as we approach Snit 1.0. Consequently,
I've been posting a series of essays on Snit's design,
syntax, and implementation to the Snit
Mailing List. In addition, I'm posting the original
essays here; but you'll have
to join the mailing list to access the archives and follow
- Snit V0.93 has been released! It was actually checked into
Tcllib in February, but thanks to external events (namely, a
new baby girl named Mary) it never got released here. As
usual, there are some bug fixes and a couple of new features.
- Snit V0.91 has been released! It's been checked into Tcllib,
and it's also available here!
Some important bug fixes, and a couple of new features.
- Snit V0.9 has been released! It's been checked into Tcllib,
and it's also available here!
The big news: support for the Tk option database!
- Snit has been added to Tcllib at
SourceForge, and will be included in Tcllib 1.5. Woo-hoo! All
further Snit development will take place in that context, and
any bugs should be submitted there as well. The Snit mailing
list (see below) will continue to be the main channel for Snit
- Snit V0.81 is a bug fix release; in particular, it fixes a
minor incompatibility with the new Tcl 8.4.2 release.
- Snit V0.8 is released with more robust widgets, a simpler
component system, and a detailed FAQ list.
- Snit V0.72 is released with a bug fix for a widget destruction
- Snit V0.71 is released with a number of bug fixes, and with more
detailed error reporting. See README.txt for complete
information on the changes.
- Snit V0.7 is released with two changes. The constructor syntax
has been generalized, and it's now possible to destroy an
- Snit V0.6 is released with a great many changes.
Among other things, the man page has been completely rewritten.
- There is now a Snit mailing list. See below.
- Note: The Snit V0.5 archives uploaded yesterday
erroneously contained Snit V0.4. They have now been replaced
with the correct distribution files.
- Snit V0.5 is released with some changes relating to object
creation and destruction.
- Snit V0.4 is released with some changes relating to callbacks
and private procs.
- Snit V0.3 is released in the wee hours of the morning. Why on
earth am I still awake?
Snit is a pure-Tcl object and megawidget framework. Unlike most Tcl
object systems, it isn't based on object inheritance; relying on
inheritance only ties you down to the object system you've chosen.
Instead, Snit is all about delegation: an object type can define its
own methods and options, but it can easily delegate methods and
options to other kinds of object. See
the Snit FAQ list
page for examples, including a dirt simple read-only text widget.
Snit will not bulk up your scripts or take over your life. Clients of
objects created by Snit won't even know that it's there. It just
makes life easier.
If you have comments or questions about Snit, or simply want to
tell me that you've taken a look at it, you can always e-mail me at
firstname.lastname@example.org. But if you're using Snit on a
regular basis, I hope you'll join the Snit mailing list. It's a
discussion forum for all things Snit, and particularly for discussion
of future development. You can join it by visiting the
Snit Mailing List
page and signing up.
Once you're signed up, you can post messages to the list by sending
them to email@example.com. (The e-mail you get
back from the list server will suggest you use
firstname.lastname@example.org, but the shorter
form works just as well.
I hope to hear from you on-line!
The following are a number of essays I posted to the Snit mailing
list as I worked out the design, syntax, and implementation for
Snit 1.0. You'll have to join the mailing list to access the
archives and follow the resulting discussions, though.
Snit is now part of Tcllib, the standard Tcl library. Here are some
Snit files and documentation
You can download the distribution as a gzipped
.tar file, or you can download individual files.
If you have questions, comments, or suggestions about Snit, feel
free to contact me at email@example.com.
Copyright © 2005, by William H. Duquette. All rights reserved.