Chapter 7. BEEP in Tcl

Unlike the other two beepcore implementations, beepcore-tcl is intended primarily for prototyping—it’s optimized for flexibility, not speed. The Tcl version of beepcore is the oldest; in fact, it predates BEEP itself! It started as an implementation of BEEP’s predecessor, BXXP. Fortunately, there hasn’t been a lot of “feature creep” with this version—once an idea proves useful, older code implementing the same functionality is usually removed.

In this chapter, we’re going to look at how to modify the Tcl SOAP package to use BEEP in addition to HTTP. There are three reasons for this:

  • It provides an illustrative example of how to retarget an HTTP-based application to one that uses BEEP.

  • It provides a concrete follow-up to Client/Server in Chapter 4 that shows how BEEP supports client/server exchanges.

  • It’s a cool demonstration of the superiority of the Tcl programming language.

As with all the versions of beepcore, go to to find out where to download the current release of beepcore-tcl. Inside that release, in the docs/ directory, you’ll find the most current documentation for the API, including the definitions of each call.

Introduction to Tcl SOAP

The Tcl SOAP project page is at The author of Tcl SOAP is Pat Thoyts. Version 1.6 of Tcl SOAP is used in these examples, and it’s a pretty good late-stage beta. From the protocol perspective, there are only two significant limitations of this version:

  • There isn’t ...

Get BEEP: The Definitive Guide now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.