1234567891011121314151617181920212223242526272829303132333435363738 |
- @TECHREPORT{BACH:2009:INRIA-00121885:4,
- author = {\textbf{Bach, Jean-Christophe} and Balland, Emilie and Brauner, Paul and Kopetz,
- Radu and Moreau, Pierre-Etienne and Reilles, Antoine},
- title = {{Tom Manual}},
- institution = {PAREO - INRIA Lorraine - LORIA - INRIA - CNRS : UMR7503 - Universit{\'e}
- Henri Poincar{\'e} - Nancy I - Universit{\'e} Nancy II - Institut
- National Polytechnique de Lorraine},
- year = {2009},
- type = {Rapport Technique},
- abstract = {This manual contains information for Tom version 2.7. Tom is a language
- extension which adds new matching primitives to languages like C,
- Java, and Caml. Although rich and complex, Tom is not a stand-alone
- language: like a preprocessor, it strongly relies on the underlying
- language (C, Java, or Caml), called host-language in the following.
- To this language, Tom adds several constructs. The main construct,
- \%match, is similar to the match primitive found in functional languages:
- given an object (called subject) and a list of patterns-actions,
- the match primitive selects the first pattern that matches the subject
- and performs the associated action. The sub ject against which we
- match can be any object, but in practice, this ob ject is usually
- a tree-based data-structure, also called term in the algebraic programming
- community. The match construct may be seen as an extension of the
- classical switch/case construct. The main difference is that the
- discrimination occurs on a term and not on atomic values like characters
- or integers: the patterns are used to discriminate and retrieve information
- from an algebraic data structure. There- fore, Tom is a good language
- for programming by pattern matching, and it is particularly well-suited
- for programming various transformations on trees/terms or Xml data-structures.},
- affiliation = {PAREO - INRIA Lorraine - LORIA - INRIA - CNRS : UMR7503 - Universit{\'e}
- Henri Poincar{\'e} - Nancy I - Universit{\'e} Nancy II - Institut
- National Polytechnique de Lorraine},
- hal_id = {inria-00121885},
- language = {Anglais},
- pages = {155},
- pdf = {http://hal.inria.fr/inria-00121885/PDF/manual-2.7.pdf},
- url = {http://hal.inria.fr/inria-00121885/en/}
- }
|