General
Who is MPS for?
Specific Languages Blog — Who is MPS for?
I have a problem that is not in this list.
Try invalidating the cache and restarting MPS (same menu). Search the forum and issue tracker.
Ask a question on Slack.
I changed something in a settings page and nothing changed.
There might be a bug related to caching. Reopening the dialog or invalidating the cache or restarting the project might help.
Are there any recommended MPS settings that should be changed?
The maximum heap size setting should be changed to a higher values such as 8 GB when using many languages or plugins.
I am running low on memory or MPS is running slowly. What can I do without restarting MPS?
When you have enabled the loaded models indicator in the lower right corner of the screen, you can click on the text to unload not needed models.
The memory indicator at the same location can be used to free memory. As a last resort the power saving mode
can be enabled which disables background tasks such as the model checker.
What is the difference between a module and a model?
Specific Languages Blog — Ambiguous terms: Modules and models
What is a SRepository and how is it structured?
The answer can be found in the MPS source code1.There can be multiple repositories available. Given a repository, references to modules/models/nodes can be resolved. There's no need in making ids unique globally as each subsystem knows, which exact repository it needs to use at any moment. (e.g. the type-system knows where it stores its type-nodes, so it will not try to resolve references to them )
A repository contains modules, modules have model roots, each model root can load models. Also a module can be a models container itself (without model root). A model is then a set of "root" nodes. Each "root" node is a root of a tree of nodes. So that overall, repository is a tree structure.
Are there other languages besides Base Language?
Have a look at the MPS Languages Repository.
Is there an existing expression/scripting language?
There is the expressions sample project. For a full language that can also be evaluated, have a look at KernelF available at iets3.opensource.
How do I organize large projects in MPS?
Read the two answers in this thread.
How to I debug MPS projects?
Have a look at this blog post.
Where are my log messages?
log info
logs to the MPS log file idea.log,
message info
logs to the messages view.
Which log level should I use?
Have a look at this Stack Overflow answer.
How to I export data from MPS?
- Specific Languages Blog — The simplest way to export your data from MPS
- Specific Languages Blog — Good and bad ways of exporting DSL models
- Specific Languages Blog — Translation vs export
Why is my project suddenly read-only?
Specific Languages Blog — Why is my project suddenly read-only?