Tcl/Tk 9.1 Released
Tcl/Tk, the venerable scripting language and GUI toolkit, just dropped version 9.1, bringing modern features like Unicode normalization and accessibility improvements. This release sparks nostalgia among long-time developers, who laud its enduring simplicity for rapid GUI development and its surprising relevance in the age of AI-driven code generation. The community celebrates its continued maintenance, highlighting its unique niche in systems ranging from CAD tools to embedded devices.
The Lowdown
The Tcl/Tk project has unveiled version 9.1, a significant development release aiming for stable deployment in September 2026. This update builds upon Tcl/Tk 9.0, introducing a suite of new commands, C routines, and foundational improvements that enhance its capabilities, performance, and cross-platform support.
Tcl 9.1 Highlights:
- New
unicodecommand for normalization andtimerfor monotonic clock operations. - Enhanced list manipulation with
lfilterand new C routines for list objects. - Improved
substandswitchcommand options. - Availability of many C99 math routines as
exprfunctions. - Mandatory initialization routines for applications (
Tcl_FindExecutableorTclZipfs_AppHook). - New C routines for string and hash table operations (
Tcl_IsEmpty,Tcl_GetEncodingNameForUser,Tcl_AttemptCreateHashEntry). - Updated C time API using
long longfor better precision. - Case-insensitive filesystem path handling on macOS.
- Revised
auto_execokandexecsearch mechanisms on Windows. - Improved list internals for memory efficiency and extended 64-bit size support.
Tk 9.1 Highlights:
- Significant accessibility enhancements, including screen reader support.
- Initial support for bidirectional text and Right-to-Left (RTL) languages.
- Introduction of new widgets like
ttk::toggleswitchand thetk attribtablecommand. - Improvements to the
sendcommand on Aqua and handling of negative screen distances. - Extended states for
ttk::treeviewandttk::notebook. - Better
Tk_CanvasTextInfoand support for rotated text on labels. - Message box and dialogs are now limited to physical screen width.
- Improved listbox selection colors and removal of obsolete Windows XP appearance support.
This release demonstrates the continued commitment of the Tcl/Tk community to modernizing the language and toolkit while preserving its core strengths of simplicity and robustness.
The Gossip
The Enduring Allure of Tcl/Tk
Many commenters expressed deep nostalgia and appreciation for Tcl/Tk's longevity and continued development. Users reminisced about past projects (Perl/Tk, AOLServer) and celebrated its 'little language that could' spirit. The consensus was that Tcl/Tk remains a gold standard for stability, pragmatism, and cross-platform development, particularly for its legendary ease in creating simple GUI applications, often for niche applications like VLSI CAD tools.
Modern Metamorphosis and Machine Minds
Despite its age, Tcl/Tk is seen as surprisingly relevant, especially when paired with modern AI. Commenters noted that contemporary large language models (LLMs) are capable of generating Tcl/Tk applications, complete with tests and even custom C extensions, showcasing its enduring utility. The discussion also touched upon upcoming modernizations, such as planned Wayland support in Tk 9.2, and celebrated the improved accessibility features in 9.1, highlighting its continued evolution.
The Ghost of Web Servers Past
The release prompted several users to recall Tcl/Tk's role in early web development, particularly its connection to AOLServer. This nostalgic tangent explored its use in rapid prototyping and building application servers in the late 90s, with mentions of related projects like NaviServer and OpenACS. While acknowledging its effectiveness for its time, many noted they wouldn't choose it for modern web development, but appreciated the memories.
A Critique of Cursory Captures
One vocal comment criticized the project's website for its complete lack of screenshots demonstrating the GUI toolkit's capabilities. Despite searching through highlighted features and documentation, the user expressed disbelief at the absence of visual examples, a common complaint for projects aiming to showcase visual components. Another comment did point to a "Showcase" page on the Tcl wiki, though.