Concept ‘MyCoolConcept’ was not found in the language ‘my.great.language’

Why can you get this error?

The immediate reason for this is that MPS does not “know” the concept. That is, the compiled concept definition is not available.

Why might a concept definition not be available? Two reasons:

  1. The language didn’t load successfully.
  2. The language did load successfully but did not contain the concept. Perhaps the concept definition was added to the language after it was loaded.

Why might a language not load successfully? Again, two reasons:

  1. The language depends on another module that is missing or didn’t load successfully.
  2. The language wasn’t compiled (or was cleaned).

Why might a module be missing? Perhaps the necessary project libraries were not downloaded yet or were cleaned. Perhaps something in your setup went wrong. Incorrectly set path variables and unintended path shrinking may be a cause.

Based on the above, here is my troubleshooting nano-guide for the “concept not found” error:

  1. Check that the language that is supposed to contain the concept definition does in fact contain it.
  2. Rebuild that language.
  3. Check the properties of the language for any missing dependencies or used languages. Fix any errors.

P.S.: Are you struggling with setting up the CI build for your MPS project and getting all the dependencies, project libraries, build scripts and CI jobs right? I want to offer a service to help you do that and I’m currently looking for beta-testers. You get the service for free in exchange for honest feedback and a testimonial if all goes well. If you’re interested, please get in touch.