Tcl HomeTcl Home Hosted by
ActiveState

Google SiteSearch

Tcl Extension Architecture Summit

Scriptics hosted the Tcl Extension Architecture (TEA) Summit, in Mountain View, CA, March 15 & 16, 1999.

A dozen of Tcl's experts came together to discuss a new Tcl Extension Architecture that will make it easier than ever for people to develop and share valuable Tcl extensions. The TEA Summit, which was the culmination of weeks of idea exchange over email, provided an opportunity for key members of the Tcl community to work actively, side-by-side with Scriptics.

Attendees

TEA Summit attendees included:
  • Michael McLennan, who wrote [incr Tcl], which is used for object-oriented programming, and wrote the popular Tcl book Effective Tcl/Tk Programming (Addison-Wesley, 1997)
  • Don Libes, who wrote Expect, which is used for integrating and automating legacy applications, and wrote the book Exploring Expect (O'Reilly, 1994)
  • Mark Diekhans, who co-wrote TclX (Extended Tcl), which is used for system utilities, and was contributing author for the book Tcl/Tk Tools (O'Reilly 1997)
  • Jim Ingham, who maintains the port of Tcl/Tk and other extensions on the Macintosh platform
  • Richard Hipp, who recently made a proposal and sample implementation of an XML based solution for cross-platform documentation with XML and was contributing author for the book Tcl/Tk Tools (O'Reilly 1997)
  • Jeff Hobbs, who wrote the tkTable and tkCon extensions for Tcl/Tk.
  • George Howlett, who wrote the BLT extensions and was contributing author for the book Tcl/Tk Tools (O'Reilly 1997)
  • David Beazley, who wrote SWIG, which is a powerful tool for creating C based extensions for Tcl
  • John Ousterhout, CTO Scriptics, who wrote Tcl/Tk, and the Tcl book Tcl and the Tk Toolkit (Addison-Wesley, 1994)
  • Ray Johnson,
  • Brent Welch, Sr. Web Engineer, Scriptics, who wrote the Tcl book Practical Programming in Tcl/Tk (Prentice Hall, 1997)
  • Marco Gazzetta, who works for Analogy and supports several internal extensions
  • members of the Scriptics engineering staff

Other people who have contributed substantially to the TEA effort but could not attend include:

  • Paul Duffin, who co-developed the initial Stubs implementation.
  • Jean-Claude Wippler, who co-developed the initial Stubs implementation.
  • Jan Nijtmans, who co-developed the initial Stubs implementation and maintains several patchs to Tcl & Tk
  • Tom Poindexter, who developed two popular database extensions: oratcl & sybtcl

Benefits of TEA

Tcl is already widely recognized for its powerful extensibility. A Tcl developer can quickly and easily add any of hundreds of open source extensions to his Tcl platform, seamlessly adding new commands and functions as needed. Tcl developers are continually creating new Tcl extensions, and adding them to the common library of extensions for others in the community to leverage. However, up to now, there has been no universal standard defined for building these extensions, so each author has had to create specific documentation, and a Tcl developer selecting multiple open source extensions to use has had to learn each authors' method. Scriptics has now proposed to create a universal standard, and is working with the well respected Tcl extension authors in the community to reach a common consensus.

TEA will be a significant improvement to the Tcl platform, furthering Tcl's lead as a powerful and easily extendable platform. This improvement will help both long-time Tcl fans and new users in taking advantage of the power of Tcl's extensions. With TEA, it will be easier than ever for people to develop and share Tcl extensions.

TEA will also make Tcl even more portable between versions of Tcl and between platforms. Tcl scripts have always been cross-platform; now Tcl extensions written in C are also more easily ported.

Agenda

The two day event was tightly packed with technical discussions on TEA, but also included time for discussions about future collaborations with Scriptics, and a press conference.

Draft of Tcl Extension Architecture Document

This is a draft of a document that specifies the requirements and goals for the new Tcl Extension Architecture. This document is somewhat out of date, but still has useful information.

There's a newer white paper about the Tcl extension mechanism; for more information, see the TEA Overview page.