Debugging typically helps you gain insight in what’s happening down in the code. Debugging the type-system is a special challenge, though. The MPS type-system engine performs type calculations on the type-system rules trying to match types to the language elements used in the code. You, as a language designer, are interested in seeing the high-level picture of what’s happening, what type is assigned to what element, when and why.
The MPS Type-System Trace tool, that some of you may already know, gives you exactly that.
We’ve prepared a Typesystem Debugging document describing the ways you can use Type-System Trace, what it can do for you and where to look for the vital information about your types and type rules. It builds on the new Expressions sample project, which comes bundled with MPS 3.0 together with several other helpful samples.
Develop with pleasure!
-JetBrains MPS Team