Poet

What: Poet (Prototype Object Extension for Tcl)
Where: http://poet.sf.net/
Description: Poet is an object-oriented extension to Tcl/Tk that features prototype-based inheritance, constraints, and persistence. It includes Poetics (Poet Integrated Construction Set), a set of tools allowing the end-user to inspect and modify a running Poet application. Poetics isn't ready for end-user use yet, but it can be a valuable asset for the Poet application developer. Poet is available in source or starkit form. The starkit has the binary code for Windows. MacOS X, and Intel Linux.
Currently at version 2.2.0.
Updated: 11/2008
Contact: See web site

The slides from the Tcl'2007 presentation are now available at the site above. The latest release includes the slideshow program as an example of how to set up and wrap a Poet application.


Version 2.2.0 released. This release has bug fixes to the C code and to the installer, it should be much more stable (especially the Poetics object editor). Minor bug fixes and enhancements throughout. Thanks go to Mykhaylo Sorochan for finding several bugs.


Version 2.1.0 released. This release has been updated for Tcl/Tk 8.5.0, including the assimilation of Ttk widgets. Poet has now been compiled for the Mac (OS X, Tcl 8.5 only) and Poet.kit is now a combined Windows/Mac/Linux kit. Numerous bug fixes, including one in the C code, so even 8.4 users should upgrade.

The poet.sourceforge.net website now includes two screen-capture videos, one presenting Poet and one presenting Poetics.


RS 2008-01-17: Could somebody explain how Poet differs from, say, TclOO?


TclOO is a lower-level approach that other OO systems could be built on. Poet is higher-level, handling things like persistence and constraints. Poet objects are meant to be closest to the user and may even be directly manipulated by the user.


Direct link to the paper (pdf): [L1 ]


tykwa is a drawing library written in Poet.


thyrd is an experimental visual programming language written in Poet by the same author. It's a good place to look for an example of a large Poet program.