Obviously this more stable, slow-and-steady approach to the package ecosystem has its pros and cons, but the best fruit of it was SQLite, possibly the best library ever made. D. Richard Hipp describes it as "a Tcl extension that escaped into the wild." [1]
[1] https://www.tcl.tk/community/tcl2017/assets/talk93/Paper.htm...
Does Tcl actually have any sort of package manager? I've started writing Tcl scripts again lately after a decade of not touching the language, and and I'm thankful that so far macOS has seemed to include every extension I wanted to use in the Tcl it ships with, but I'm waiting the day I hit a missing extension and have no idea how to install it.
Activestate put teapot on github. I don't use it though, so I don't know how it works yet.
> https://github.com/ActiveState/teapot
aside: Everything tcl just worked for you on macOS? Mac having 8.4 rather than 8.6 drove me nuts.
Dormancy and stagnation can have many causes: author hiatus, the code clearing some threshold feature-complete, obsolescence by competing tech that solves similar problems. And it seems Tcl has managed to stay relevant through a combination of usefulness (like its standard lib, or Tk) sufficient paradigm difference to tech that came later, in some cases future tech building on top of it instead of replacing it wholesale, willingness to fix common gripes in the core (numbers, unicode, binary), and a developer-focused (instead of consumer-focused) approach to packaging. It's probably helped by being a captive scripting language on some embedded platforms too.
Languages that became big and popular in later years faced demands around the distribution of third-party packages. Perl became an early pioneer with a community repository, but later languages had to cope with the expectation of using a language-specific package manager that would download from the official repository, and automagically make packages available globally. Tcl encouraged user contributions in a less formal way [1] -- develop programs (code that uses builtin commands) or extensions (code that defines new commands) for your own use, and make them available if you so wish. This minor difference in attitude creates an ecosystem that feels different from a language package repo, where thousands of packages of varying quality sit, the long tail of them effectively unvetted.
[1] http://wiki.tcl.tk/2352