Developed at INRIA in 2013, Tom is a programming language extension that adds new matching primitives to languages like C, Caml, and Java.
Although INRIA's documentation states that Tom is not a stand-alone programming language, as it relies on the underlying language (C, Caml, or Java), to which it adds several constructs, The official website for the language describes it as a real programming language, with many programming and debugging facilities.
Perhaps this indicates that is not a stand-alone programming language because it is designed to work with C, Caml, or Java, but that it is nevertheless a fully functional programming language in its own right, with its own syntax, semantics, and features.
While Tom is rich and complex, it is designed to be used with C, Caml, or Java. Of these, it is particularly well suited for Java. An extension of Java, any Java program is a correct Tom program. Tom is designed to manipulate the Java tree structures and XML documents. Data is represented using an efficient object-oriented tree-based data structure, and Java builtins, such as int, char, and string can be used. Tom provides pattern-matching facilities to inspect objects and retrieve values. It is a powerful strategy language that can be used to control transformations.
Tom is well-suited for programming by pattern matching, developing compilers and domain-specific languages, transforming XML documents, implementing rule-based systems, and describing algebraic transformations.
While developed at INRIA, Tom is a free and open-source language, available under the GPL and BSD licenses. The core of the Tom compiler is released under the GPL v.2, while the Tom runtime library and predefined mappings are under the BSD license.
In this portion of our computer programming language guide, we're focused on the programming language or language extension known as Tom. Topics relating to the language, compilers, or other tools or utilities designed to facilitate Tom programming, as well as Tom tutorials, guides, forums, user groups, or informational sites.
 
 
Recommended Resources
The Tom programming language and language extension was created at INRIA in 2013. Available in PDF format, the manual contains information for Tom version 2.7, and includes documentation on its basis usage, structure invariants, and a tutorial of language basics, advanced features, and XML, as well as language references, strategies, a runtime library, migration guide, instruction on installation and configuration, using Tom under eclipse, and the Tom server.
https://inria.hal.science/inria-00121885v4
TOM is an object-oriented programming language that advocates the unplanned reuse of code, enabling this effect through defining a class by its main definition and any extension, allowing extensions to add methods, variables, and superclasses to a class, and in the source of the original code being irrelevant while it is extended. Development and release notes are posted, along with a download section, documentation, and a list of software developed for the language.
http://gerbil.org/tom/
The official website for the Tom programming language lists its main features and release notices, along with a more complete introduction to the language, its applications, support resources (mailing list, bug reports, contacts), documentation (tutorial, reference manual, user guide, cookbook, academic publications), and download links for stable or development releases of the Tom programming language, as well as scripts and modes for Emacs or Vim. Links to other resources are included.
https://tom.loria.fr/