Xtext Typesystem Framework
Starting with version 1.0, it has become absolutely feasible to build complex languages of Xtext. One aspect of a complex language is usually support for expressions. Expressions require recursive grammar definitions, for which assignment actions in Xtext provide reasonable support.
However, once you have expressions, it typically also need a type system. While it can be argued that type system checks are nothing more than constraints, building a reasonable type system is a lot of work that can use additional support over plain constraint checks.
The code in this Google Code project provides this kind of support. Read the documentation on the download page
to learn more.