The TOM FAQ tries to answer many TOM questions.
TOM is an object-oriented programming language.
TOM allows the developer of the library to focus on the design instead of the features, since any missing features can be added by the library's users when needed. The user of a library will not be needlessly overwhelmed by a huge number of features. Instead, he will be able to concentrate on understanding the library's design, so he can use it well. A prime example of this is to modify in your program a class offered by a shared library, just to make it suit your program better. TOM code is compiled to object code that is linked to the TOM standard libraries.