Version 6 of Tcl Standard Library Specification

Updated 2004-04-23 23:59:12

Peter Newman 24 April 2004

INTRODUCTION

The Tcl Standard Library Specification is an idea that arose from the April 2004 discussion on Tcl Common library.

The idea of a Tcl Standard Library was floated, and generated a lot of interest. But there were so many ideas, so many issues! Lots of people want a Tcl Standard Library. But there were many different ideas as to what that actually was.

During that discussion, I realised that though Tcl is great, there are still lots of outstanding issues that haven't been resolved. For example:-

  • The lack of a standard distribution system - like Perl's CPAN and RPM.
  • The Tiny/Minimal Core versus Batteries Included Core issue. We seem to have a compromise solution at the moment, that neither side is entirely happy with.
  • The stagnation of certain aspects of Tcl - like skinning/theming of the core widgets, for example.
  • The poor documentation of many of the core commands, widgets and concepts.
  • Outstanding issues regarding TEA and CVS and how to create packages and enhancements to Tcl. In other words, the architecture and mechanics of how one goes about adding extensions to Tcl.
  • The continual talk/work on megawidgets and MegaWidget Librarys.
  • And there may well be many more. If there is, just let me know.

These issues seem to have been discussed/debated for many years. But progress seems either painfully slow or non-existent.

But what struck me about the debate in Tcl Common Library was that though these issues are always thought of as separate and un-related - in fact the are all really just subsets of the Tcl Standard Library. And to make progress on these issues, we need to create a Tcl Standard Library Specification that describes how all of these things fit together.

Or to put it another way - a properly designed Tcl Standard Library should (in my opinion,) provide answers and solutions to all the problems/issues listed above.

But the first thing to do, is to create a Tcl Standard Library Specification - that describes exactly what the Tcl Standard Library is. And how it addresses and solves all these outstanding issues/problems.

So that's what this page and theTcl Standard Library are all about.