Compiling math sample in MPS

I am using the latest version of MPS (3.4) under Windows 10 64-bit.

I am interested in testing the math sample, which is provided in the MPSSamples.3.4.

However this sample does not compile (more than 200 errors when trying to rebuild the project).

Does anybody know how to fix these issues or is there a newer version of this sample somewhere?

5 comments

What kind of compilation errors are you getting? Can you please attach some part of the compiler output?

0

Here is a transcript of the messages I get:

  • 252 issues found
  • Errors (212 issues)
  • jetbrains.mps.baseLanguage.math#1235731725718 (212)
  • jetbrains.mps.baseLanguage.math.generator.template.intervals@generator (2)
  • main (2)
  • The type Type is not a valid substitute for the bounded parameter Interval.T extends Comparable
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • jetbrains.mps.baseLanguage.math.generator.template.operations@generator (23)
  • MathSymbolConditionSwitch (2)
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: BaseConcept
  • MathSymbolInitializer (12)
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • unexpected in left part or assignment
  • unexpected in left part or assignment
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • unexpected in left part or assignment
  • unexpected in left part or assignment
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • type int is not comparable with node<BigSumExpression>
  • unexpected in left part or assignment
  • type int is not comparable with node<BigSumExpression>
  • MathSymbolIterator (7)
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • unexpected in left part or assignment
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • unexpected in left part or assignment
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • MathSymbolLoopSwitch (1)
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • main (1)
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: BaseConcept
  • jetbrains.mps.baseLanguage.math.generator.template.types@generator (187)
  • AssignmentOperationSwitch (4)
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • BinaryOperationSwitch (68)
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • type jetbrains.mps.baseLanguage.math.runtime.MatrixOperation is not a subtype of jetbrains.mps.baseLanguage.math.runtime.MatrixScalarOperations
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • type jetbrains.mps.baseLanguage.math.runtime.MatrixOperation is not a subtype of jetbrains.mps.baseLanguage.math.runtime.MatrixScalarOperations
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • type jetbrains.mps.baseLanguage.math.runtime.MatrixOperation is not a subtype of jetbrains.mps.baseLanguage.math.runtime.MatrixScalarOperations
  • type jetbrains.mps.baseLanguage.math.runtime.MatrixOperation is not a subtype of jetbrains.mps.baseLanguage.math.runtime.MatrixScalarOperations
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • type jetbrains.mps.baseLanguage.math.runtime.MatrixOperation is not a subtype of jetbrains.mps.baseLanguage.math.runtime.MatrixScalarOperations
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • type jetbrains.mps.baseLanguage.math.runtime.MatrixOperation is not a subtype of jetbrains.mps.baseLanguage.math.runtime.MatrixScalarOperations
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • reference add (baseMethodDeclaration) is out of search scope
  • reference remainder (baseMethodDeclaration) is out of search scope
  • reference divide (baseMethodDeclaration) is out of search scope
  • reference and (baseMethodDeclaration) is out of search scope
  • reference shiftRight (baseMethodDeclaration) is out of search scope
  • reference xor (baseMethodDeclaration) is out of search scope
  • reference subtract (baseMethodDeclaration) is out of search scope
  • reference or (baseMethodDeclaration) is out of search scope
  • reference multiply (baseMethodDeclaration) is out of search scope
  • reference shiftLeft (baseMethodDeclaration) is out of search scope
  • LinearSolveOperation (2)
  • type jetbrains.mps.baseLanguage.math.runtime.Matrix is not a subtype of matrix <int>
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • MathFuncSwitch (5)
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • main (84)
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • type jetbrains.mps.baseLanguage.math.runtime.MatrixScalarOperations<Integer> is not a subtype of boolean
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • wrong number of parameters
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • type {Object,Object=>Integer} is not a subtype of jetbrains.mps.baseLanguage.math.runtime.MatrixScalarOperations
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • {q14,r14=>s14} is not a subtype of MatrixScalarOperations: more than one abstract method
  • {c15,d15=>e15} is not a subtype of MatrixScalarOperations: more than one abstract method
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • wrong number of parameters
  • wrong number of parameters
  • wrong number of parameters
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • type Integer[][] is not a subtype of jetbrains.mps.baseLanguage.math.runtime.Matrix
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: BaseConcept
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: BaseConcept
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: BaseConcept
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • type Integer[][] is not a subtype of jetbrains.mps.baseLanguage.math.runtime.Matrix
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • different parameter numbers
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • different parameter numbers
  • wrong number of parameters
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: BaseConcept
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: BaseConcept
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Type
  • reference doubleValue (baseMethodDeclaration) is out of search scope
  • reference toBigInteger (baseMethodDeclaration) is out of search scope
  • reference intValue (baseMethodDeclaration) is out of search scope
  • reference floatValue (baseMethodDeclaration) is out of search scope
  • reference longValue (baseMethodDeclaration) is out of search scope
  • reference byteValue (baseMethodDeclaration) is out of search scope
  • reference shortValue (baseMethodDeclaration) is out of search scope
  • main_pass0 (9)
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • main_pass1 (15)
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: BaseConcept
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: BaseConcept
  • unexpected in left part or assignment
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • Abstract concept instance detected. Use one of sub-concepts instead. Concept: Expression
  • incompatible target concept in role "rValue": subconcept of "Expression" expected, "BaseConcept" found
  • Infos (11 issues)
  • jetbrains.mps.baseLanguage.math (3)
  • jetbrains.mps.baseLanguage.math.editor (1)
  • ML_SideTransforms_LocalVariableDeclaration_Contribution (1)
  • Default transformation menu for LocalVariableDeclaration is not defined. Implicit default menu will be used.
  • jetbrains.mps.baseLanguage.math.structure (1)
  • Editor for concept MathContext is not defined. Default editor will be used.
  • jetbrains.mps.baseLanguage.math.typesystem (1)
  • typeof_BinaryOperationMathContext (1)
  • It's recommended to use string type
  • jetbrains.mps.baseLanguage.math.runtime (8)
  • jetbrains.mps.baseLanguage.math.runtime (8)
  • Interval (2)
  • Typecast expression is superflous
  • Typecast expression is superflous
  • Matrix (6)
  • Typecast expression is superflous
  • Typecast expression is superflous
  • Typecast expression is superflous
  • Typecast expression is superflous
  • Typecast expression is superflous
  • Typecast expression is superflous
  • Warnings (29 issues)
  • jetbrains.mps.baseLanguage.math (12)
  • jetbrains.mps.baseLanguage.math.behavior (2)
  • ExponentialOperation_Behavior (1)
  • 'node/<name>/' is instance of deprecated concept
  • MatrixExponentialOperation_Behavior (1)
  • 'node/<name>/' is instance of deprecated concept
  • jetbrains.mps.baseLanguage.math.editor (2)
  • MathSymbol_Editor (2)
  • 'conceptNode' is instance of deprecated concept
  • 'conceptNode' is instance of deprecated concept
  • jetbrains.mps.baseLanguage.math.intentions (4)
  • DeleteMathContext (1)
  • Naming policies violated: all words except prepositions, articles and particles should be capitalized.
  • DivExpressionDivToFraction (1)
  • Naming policies violated: all words except prepositions, articles and particles should be capitalized.
  • DivExpressionFractionToDiv (1)
  • Naming policies violated: all words except prepositions, articles and particles should be capitalized.
  • SpecifyMathContext (1)
  • Naming policies violated: all words except prepositions, articles and particles should be capitalized.
  • jetbrains.mps.baseLanguage.math.structure (3)
  • Member identifiers could be derived from internal values, since they are specified for all enumeration members
  • Member identifiers could be derived from internal values, since they are specified for all enumeration members
  • Member identifiers could be derived from internal values, since they are specified for all enumeration members
  • jetbrains.mps.baseLanguage.math.typesystem (1)
  • matrix_index_lvalue (1)
  • 'conceptNode' is instance of deprecated concept
  • jetbrains.mps.baseLanguage.math#1235731725718 (11)
  • jetbrains.mps.baseLanguage.math.generator.template.operations@generator (3)
  • ExtrSymbolDoCompare (2)
  • Variable is assigned to itself
  • Variable is assigned to itself
  • main (1)
  • Unused variable
  • jetbrains.mps.baseLanguage.math.generator.template.types@generator (8)
  • LinearSolveOperation (2)
  • This operation can produce 'java.lang.NullPointerException'
  • Variable 'mx' initializer is redundant
  • main (6)
  • Unnecessary parentheses
  • Unnecessary parentheses
  • Unnecessary parentheses
  • Unnecessary parentheses
  • Unnecessary parentheses
  • Unnecessary parentheses
  • jetbrains.mps.baseLanguage.math.pluginSolution (3)
  • jetbrains.mps.baseLanguage.math.pluginSolution.plugin (3)
  • Usages of this classifier outside of 'jetbrains.mps.baseLanguage.math.pluginSolution' module requires setting 'Export' flag for the dependency on 'MPS.Editor' module
  • Usages of this classifier outside of 'jetbrains.mps.baseLanguage.math.pluginSolution' module requires setting 'Export' flag for the dependency on 'MPS.Editor' module
  • Usages of this classifier outside of 'jetbrains.mps.baseLanguage.math.pluginSolution' module requires setting 'Export' flag for the dependency on 'MPS.Editor' module
  • jetbrains.mps.baseLanguage.math.runtime (2)
  • jetbrains.mps.baseLanguage.math.runtime (2)
  • Matrix (2)
  • This operation can produce 'java.lang.NullPointerException'
  • This condition is always true
  • jetbrains.mps.baseLanguage.math.sandbox (1)
  • math_samples (1)
  • Sample (1)
  • Variable 'r' initializer is redundant
0

This looks like the output from the model checker, not the compiler. Model checker is run before the actual generation and compilation in order to verify, whether the source model contains any errors. You can continue to compilation, if you press the "Ignore errors" button in the dialog that appears after the model checker has completed.

Admittedly, the math samples suffers from several issues in the model, mostly because we did not get to keeping the sample up-to-date with the changes in MPS itself.

0

Thank you for your explanations. Are there any plans to update this sample?

0

Yes, we have been planning to do that for quite some time, but there's always been tasks with higher priority.

0

Please sign in to leave a comment.