Complex Values
The Values package is my base library for almost everything I do. It provides Values (as opposed to Objects) which are simple, immutable objects. Values can only be created but never modified. This allows for a functional programming style and simplyfies systems, since much less state has to be maintained. Especially I like to see all structure and details (of complex values) at a glance and the ease of creating test values.
The Smalltalk code lives in the Cincom Public Store as bundle Values Development which you can load into your VisualWorks image.
I wrote a (scientific) dry paper about it and presented it at ESUG 2009 in Brest. I think that nobody understood it… . You can buy the paper from the ACM or you can see the draft of the paper with identical content on which the ACM does not have the copyright. The slides of the talk are here.