How can I remove primitives from baseLanguage?

I don't want to use some primitive types from java.
Can I change name of 'boolean'?

And why does baseLanguage include java?
Expressions and statements can be 'base', but jvm primitives should be 'jvmBase'
1. I believe, you can define a checking rule that will report usages of such types as errors.
2. You could define an alternative editor for "boolean", if that would help in your case. Or define a type of your own.
3. BaseLanguage has been created as a clone of Java, so it contains all the concepts that Java has. It has never been meant as a universal expression language, even though such a language would certainly be very useful for DSL authors.
But how can I achieve 2? I have no idea how can I set mps to treat 'true' and 'false' as 'bool' instead of 'boolean'
It depends what you want to achieve. The simplest solution is to provide an alternative editor for BooleanType, so that only the visual appearance of the concept changes, if the user decides to view the code with the alternative editor -

A more elaborate solution would include creating your own type and defining sub-typing rules between your type and BooleanType.
I'm working on it.. but I can't define a new primitive data type without baseLanguage or jvm.
But I have no idea how to solve 'type boolean is not a subtype of string'.
And I can't find any guide for this from MPSD32 – Single page version.

Now I find that I can't use light quotation in typesystem - typeof.
Is this a known issue?
The single-page user guide for 3.2 is not ready yet. Please use the multi-page version at

As for light quotations - have you imported the jetbrains.mps.lang.quotation language into the type system model? Can you use ordinary quotations in the typesystem?
I'd tried default type (like BooleanType) and it works. (becomes '<boolean>') but even after adding 'jetbrains.mps.lang.quotation' to used language, I can't use light quotation.
Do you mean that "<light quotation>" is not in the completion menu, while "<quotation>" is?
Nope, I mean my concepts like '<BoolType>'.
I guess you are getting confused here over the visual appearance of quotations and light quotations.
Maybe checking the quotation page ( could help shed some light into the problem?

Ah, my mistake. I meant '<BoolType()>'.

And now I use 'new node<BoolType>()'.

Please sign in to leave a comment.