I created a package that handles TclOO garbage collection, introduces the concept of object variables, and provides a type system framework.
The following code demonstrates some of the features of the package:
package require tin tin import vutil # Factory procedure (creates objects) proc foo {who} { new string message {hello }; # initialize object append $message $who; # modify directly with Tcl commands return [$message --> &]; # copy to shared object and return } [foo {world}] --> bar; # create from procedure $bar = [string toupper [$bar]]; # value assignment $bar print; # additional object methods
The package is a Tin package, so if you have Tin installed, the "tin import vutil" command will install the package on the fly, as well as load the package and import the commands.
Github Repo: https://github.com/ambaker1/vutil