When is an Object Not an Object?

Roseman, M. (1995)
When is an Object Not an Object? In Proceedings of the 1995 Tcl/Tk Workshop. (Toronto), Usenix Press, July 6-8. Also as Report 1995-553-5, March.

View Publication and Related Materials

PDF PaperPDF Paper (1995-Environments.TclWorkshop.pdf)


This paper describes an approach to designing and building Tcl extensions that can be flexibly and dynamically changed using either Tcl or C. In particular, extensions having an object-based interface are considered. This extension approach seeks to avoid the "chasm" found in migrating code from Tcl to C as it matures by freely mixing Tcl and C to create an object's subcommands. The approach differs from traditional Tcl object frameworks in that it retains familiar mechanisms used to create new toplevel Tcl commands, and emphasizes extensions holding much of their data at the C level. A secondary goal is to illustrate how extension authors can encourage rich customization, by exposing object internals to change. To illustrate the technique, a simple data structure is extended to support sharing between multiple Tcl processes.

Bibtex entry

@INPROCEEDINGS { 1995-Environments.TclWorkshop,
AUTHOR = { Roseman, M. },
TITLE = { When is an Object Not an Object? },
BOOKTITLE = { Proceedings of the 1995 Tcl/Tk Workshop },
YEAR = { 1995 },
MONTH = { July 6-8 },
PUBLISHER = { Usenix Press },
ADDRESS = { Toronto },
NOTE = { Also as Report 1995-553-5, March },