Tcl implementations of publish-subscribe mechanisms

Tcl has a distinguished record of accomplishment in supporting architectures based on the publish-subscribe pattern.

See Also

EventService might be used to build publish-subscribe infrastructure.
Tcllib's Hook
Provides for synchronous callbacks to subscribers. Simple but entirely effective. Probably the first thing to reach for.
A robust publish/subscribe system.
Can be regarded as publish-subscribe.
A streaming text/oriented protocol.


Various publish/subscribe systems are listed below.


One prominent domain is process control, where CPU bound Tcl to Tibco and MQ middleware, as well as a home-grown publish-subscribe bus. The current owners of CPU current owners apparently have "buried" all these products.

GWL - That piece of CPU was sold to AspenTech in the early 2000s. AspenTech the buried everything they bought from CPU.


Apparently XMLblaster still lacks a demonstration client in Tcl as 2004 begins, although someone (? Benno Lange?) was working on it. It ought to be straightforward ...


Tuplespace is a publish-subscribe mechanism, one with at least a couple of distinct advantages, including the ease with which one can register interest in a pattern, and not just a variable.

MMTI Message Passing Protocol and API

msg interface that is used to operate F5 instrumentation at the MMT Observatory [L1 ]. This client/server API includes a complete pub/sub synchronous or async passing of scalar values and RPC of procs. It's designed to be "so easy" that even a PhD can use it. The code is here . JBR

International Space Station

Enhancing International Space Station (ISS) Mission Control Center , by Brian O'Hagan, presented at the Eleventh Annual Tcl/Tk Conference, 2004, described how Tcl/Tk was interfaced to the Information Sharing Protocol (ISP) used in the Mission Control Center (MCC) at the Johnson Space Center (JSC). The interface provides an easy publish, subscribe, and filter interface for Tcl/Tk applications.