English

Vanilla Object Orientation (VOO): A Value-Semantics Approach to Classes in Tcl

Programming Languages 2026-04-14 v1

Abstract

I present Vanilla Object Orientation (VOO), a framework that composes classes from Tcl's native data structures -- lists and dictionaries -- rather than introducing additional framework infrastructure. VOO objects are plain Tcl lists with automatic memory management through copy-on-write semantics, eliminating the destructor burden inherent in TclOO and Itcl. Benchmarks on Tcl 8.6.13 and Tcl 9.0 show VOO achieves 7--18x faster object creation and 4--6x superior memory efficiency compared to TclOO. A companion C++ migration path (VOO C++) further improves field-access speed (setter 2.3--2.6x faster) and memory (6.8--9.8x lighter than TclOO), while preserving an identical Tcl call-site API. Cross-version analysis confirms that VOO's compositional design scales better than framework-based approaches as the interpreter evolves.

Cite

@article{arxiv.2604.10399,
  title  = {Vanilla Object Orientation (VOO): A Value-Semantics Approach to Classes in Tcl},
  author = {Alan Araujo},
  journal= {arXiv preprint arXiv:2604.10399},
  year   = {2026}
}

Comments

41 pages (11 pages of main content and 30 pages of appendices), 15 tables, 24 code examples

R2 v1 2026-07-01T12:04:39.928Z