From ce9f4765771d561eed6cfc2436f4c17ad5f06251 Mon Sep 17 00:00:00 2001 From: Amin Ait Lamqadem Date: Tue, 23 Sep 2025 13:48:00 +0200 Subject: [PATCH 01/18] Add language, runtime and sandbox --- code/.mps/modules.xml | 4 + ...mis.mps.baseLanguageExtensions.runtime.msd | 19 ++++ ...mis.mps.baseLanguageExtensions.runtime.mps | 8 ++ ...mis.mps.baseLanguageExtensions.sandbox.msd | 22 ++++ ...mis.mps.baseLanguageExtensions.sandbox.mps | 10 ++ .../de.itemis.mps.baseLanguageExtensions.mpl | 107 ++++++++++++++++++ ...tensions.generator.templates@generator.mps | 24 ++++ ...is.mps.baseLanguageExtensions.behavior.mps | 12 ++ ...mps.baseLanguageExtensions.constraints.mps | 19 ++++ ...emis.mps.baseLanguageExtensions.editor.mps | 12 ++ ...s.mps.baseLanguageExtensions.structure.mps | 10 ++ ....mps.baseLanguageExtensions.typesystem.mps | 11 ++ ...itemis.mps.baseLanguageExtensions.test.msd | 19 ++++ 13 files changed, 277 insertions(+) create mode 100644 code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd create mode 100644 code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps create mode 100644 code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd create mode 100644 code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps create mode 100644 code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl create mode 100644 code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps create mode 100644 code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.behavior.mps create mode 100644 code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.constraints.mps create mode 100644 code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.editor.mps create mode 100644 code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps create mode 100644 code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps create mode 100644 code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd diff --git a/code/.mps/modules.xml b/code/.mps/modules.xml index acc8df9845..a5b5cd747d 100644 --- a/code/.mps/modules.xml +++ b/code/.mps/modules.xml @@ -81,6 +81,9 @@ + + + @@ -190,6 +193,7 @@ + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd new file mode 100644 index 0000000000..5a4fff2452 --- /dev/null +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps new file mode 100644 index 0000000000..0c90b1452f --- /dev/null +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd new file mode 100644 index 0000000000..7e6246874f --- /dev/null +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps new file mode 100644 index 0000000000..d5384f1224 --- /dev/null +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl b/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl new file mode 100644 index 0000000000..afea30c6ba --- /dev/null +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + d91eaf6f-a378-467f-9524-0c201ee2e15f(de.itemis.mps.baseLanguageExtensions.runtime) + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps new file mode 100644 index 0000000000..8f7a495efd --- /dev/null +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.behavior.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.behavior.mps new file mode 100644 index 0000000000..7f614722fa --- /dev/null +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.behavior.mps @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.constraints.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.constraints.mps new file mode 100644 index 0000000000..679c51f0a5 --- /dev/null +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.constraints.mps @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.editor.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.editor.mps new file mode 100644 index 0000000000..53986484dd --- /dev/null +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.editor.mps @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps new file mode 100644 index 0000000000..1ba35fe152 --- /dev/null +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps new file mode 100644 index 0000000000..751a1bac42 --- /dev/null +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd new file mode 100644 index 0000000000..19024306e2 --- /dev/null +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + From c15d85b20eb75d4a9b3f7e54e6cf548cf0fbe9bc Mon Sep 17 00:00:00 2001 From: Amin Ait Lamqadem Date: Wed, 24 Sep 2025 09:52:01 +0200 Subject: [PATCH 02/18] Add baseLanguageExtensions to build script --- .../models/de.itemis.mps.extensions.build.mps | 305 ++++++++++++++++++ 1 file changed, 305 insertions(+) diff --git a/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps b/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps index de52303d02..35d1eb4674 100644 --- a/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps +++ b/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps @@ -9683,6 +9683,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16672,6 +16856,10 @@ + + + + @@ -19501,6 +19689,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -22491,6 +22751,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -22965,6 +23264,9 @@ + + + @@ -23075,6 +23377,9 @@ + + + From 827f754c0caf1d70d4194368c209404b9a9bf0b3 Mon Sep 17 00:00:00 2001 From: Dennis Albrecht Date: Tue, 23 Sep 2025 18:13:48 +0200 Subject: [PATCH 03/18] included ElvisOperator runtime --- ...mis.mps.baseLanguageExtensions.runtime.msd | 7 +- ...mis.mps.baseLanguageExtensions.runtime.mps | 122 ++++++- ...itemis.mps.baseLanguageExtensions.test.msd | 16 +- ...ageExtensions.test.elvisOperator@tests.mps | 341 ++++++++++++++++++ 4 files changed, 482 insertions(+), 4 deletions(-) create mode 100644 code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.elvisOperator@tests.mps diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd index 5a4fff2452..52fa4b7239 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd @@ -11,7 +11,12 @@ - + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps index 0c90b1452f..d4fb02ee13 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps @@ -1,8 +1,126 @@ - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd index 19024306e2..9dfa590493 100644 --- a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd @@ -11,8 +11,22 @@ - + + d91eaf6f-a378-467f-9524-0c201ee2e15f(de.itemis.mps.baseLanguageExtensions.runtime) + 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK) + + + + + + + + + + + + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.elvisOperator@tests.mps b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.elvisOperator@tests.mps new file mode 100644 index 0000000000..719bf9d529 --- /dev/null +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.elvisOperator@tests.mps @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 00f1f5150abbe039130125f4178e5a75cf781c09 Mon Sep 17 00:00:00 2001 From: Dennis Albrecht Date: Wed, 24 Sep 2025 10:56:04 +0200 Subject: [PATCH 04/18] added the ElvisOperation as base language operation --- .../models/de.itemis.mps.extensions.build.mps | 20 ++ ...mis.mps.baseLanguageExtensions.sandbox.msd | 6 + ...mis.mps.baseLanguageExtensions.sandbox.mps | 215 +++++++++++++++++- .../de.itemis.mps.baseLanguageExtensions.mpl | 17 +- ...tensions.generator.templates@generator.mps | 104 ++++++++- ...s.mps.baseLanguageExtensions.structure.mps | 29 ++- ....mps.baseLanguageExtensions.typesystem.mps | 185 ++++++++++++++- 7 files changed, 568 insertions(+), 8 deletions(-) diff --git a/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps b/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps index 35d1eb4674..399805f021 100644 --- a/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps +++ b/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps @@ -9807,6 +9807,21 @@ + + + + + + + + + + + + + + + @@ -22789,6 +22804,11 @@ + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd index 7e6246874f..5c3c6da7d4 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd @@ -11,11 +11,17 @@ + + 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK) + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps index d5384f1224..cccb416919 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps @@ -3,8 +3,219 @@ + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl b/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl index afea30c6ba..02cf3f068f 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl @@ -50,12 +50,20 @@ + + + + + + f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage) + fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures) + @@ -96,12 +104,19 @@ + + + + + d91eaf6f-a378-467f-9524-0c201ee2e15f(de.itemis.mps.baseLanguageExtensions.runtime) - + + f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage) + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps index 8f7a495efd..d78a125920 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps @@ -2,16 +2,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19,6 +74,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps index 1ba35fe152..85ec66d5a3 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps @@ -4,7 +4,32 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps index 751a1bac42..fdc83af03d 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps @@ -5,7 +5,188 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 6cd848d445a80b028deb3773171410cedbeeb931 Mon Sep 17 00:00:00 2001 From: Amin Date: Thu, 25 Sep 2025 10:06:34 +0200 Subject: [PATCH 05/18] Add integer sequences to the new BaseLanguage extensions (#2) --------- Co-authored-by: Dennis Albrecht --- .../models/de.itemis.mps.extensions.build.mps | 2 +- ...mis.mps.baseLanguageExtensions.runtime.msd | 1 + ...mis.mps.baseLanguageExtensions.runtime.mps | 182 ++++++++ ...mis.mps.baseLanguageExtensions.sandbox.msd | 2 + ...mis.mps.baseLanguageExtensions.sandbox.mps | 432 +++++++++++++++++- .../de.itemis.mps.baseLanguageExtensions.mpl | 2 - ...tensions.generator.templates@generator.mps | 149 ++++++ ...mps.baseLanguageExtensions.constraints.mps | 69 ++- ...emis.mps.baseLanguageExtensions.editor.mps | 408 ++++++++++++++++- ...s.mps.baseLanguageExtensions.structure.mps | 79 ++++ ....mps.baseLanguageExtensions.typesystem.mps | 335 ++++++++++++++ ...itemis.mps.baseLanguageExtensions.test.msd | 1 + ...eExtensions.test.integerSequence@tests.mps | 265 +++++++++++ 13 files changed, 1911 insertions(+), 16 deletions(-) create mode 100644 code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.integerSequence@tests.mps diff --git a/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps b/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps index 399805f021..0411db8f08 100644 --- a/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps +++ b/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps @@ -9805,7 +9805,7 @@ - + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd index 52fa4b7239..f8a57a03e0 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd @@ -14,6 +14,7 @@ + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps index d4fb02ee13..5c8290ecad 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps @@ -1,20 +1,40 @@ + + + + + + + + + + + + + + + + + + + + @@ -35,6 +55,9 @@ + + + @@ -42,9 +65,17 @@ + + + + + + + + @@ -52,15 +83,29 @@ + + + + + + + + + + + + + + @@ -68,7 +113,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd index 5c3c6da7d4..51b8c0d923 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd @@ -17,6 +17,8 @@ + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps index cccb416919..5d253a9b2a 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps @@ -4,6 +4,7 @@ + @@ -11,7 +12,9 @@ + + @@ -33,6 +36,7 @@ + @@ -47,12 +51,14 @@ + + @@ -78,9 +84,28 @@ + + + + + + + + + + + + + + + + + + + @@ -88,6 +113,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -206,7 +253,7 @@ - + @@ -217,5 +264,388 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl b/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl index 02cf3f068f..b1e9635e0b 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl @@ -84,14 +84,12 @@ - - diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps index d78a125920..f13f37786b 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps @@ -29,6 +29,9 @@ + + + @@ -48,10 +51,19 @@ + + + + + + + + + @@ -59,6 +71,10 @@ + + + + @@ -67,6 +83,10 @@ + + + + @@ -121,6 +141,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.constraints.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.constraints.mps index 679c51f0a5..1abf125080 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.constraints.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.constraints.mps @@ -2,18 +2,67 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.editor.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.editor.mps index 53986484dd..3f7449b55d 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.editor.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.editor.mps @@ -6,7 +6,411 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps index 85ec66d5a3..bc011b659b 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps @@ -6,6 +6,7 @@ + @@ -13,12 +14,33 @@ + + + + + + + + + + + + + + + + + + + + + @@ -31,5 +53,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps index fdc83af03d..9b61803993 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps @@ -19,6 +19,16 @@ + + + + + + + + + + @@ -26,14 +36,36 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -46,6 +78,9 @@ + + + @@ -53,6 +88,10 @@ + + + + @@ -68,22 +107,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -188,5 +254,274 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd index 9dfa590493..096dc7144e 100644 --- a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd @@ -19,6 +19,7 @@ + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.integerSequence@tests.mps b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.integerSequence@tests.mps new file mode 100644 index 0000000000..52a53e3ce2 --- /dev/null +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.integerSequence@tests.mps @@ -0,0 +1,265 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 2beee3089ec2968cc9d11766ed877f4b4df6abd5 Mon Sep 17 00:00:00 2001 From: Amin Ait Lamqadem Date: Wed, 24 Sep 2025 17:04:33 +0200 Subject: [PATCH 06/18] Add zip operator --- .../models/de.itemis.mps.extensions.build.mps | 10 + ...mis.mps.baseLanguageExtensions.runtime.msd | 2 + ...mis.mps.baseLanguageExtensions.runtime.mps | 186 ++++++ ...mis.mps.baseLanguageExtensions.sandbox.msd | 1 + ...mis.mps.baseLanguageExtensions.sandbox.mps | 298 +++++++++ .../de.itemis.mps.baseLanguageExtensions.mpl | 5 + ...tensions.generator.templates@generator.mps | 87 +++ ...s.mps.baseLanguageExtensions.structure.mps | 10 + ....mps.baseLanguageExtensions.typesystem.mps | 197 ++++++ ...itemis.mps.baseLanguageExtensions.test.msd | 1 + ...guageExtensions.test.zipOperator@tests.mps | 605 ++++++++++++++++++ 11 files changed, 1402 insertions(+) create mode 100644 code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.zipOperator@tests.mps diff --git a/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps b/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps index 0411db8f08..035056d4fc 100644 --- a/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps +++ b/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps @@ -9822,6 +9822,16 @@ + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd index f8a57a03e0..9c9eff1de1 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd @@ -13,8 +13,10 @@ + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps index 5c8290ecad..a022226819 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps @@ -6,10 +6,25 @@ + + + + + + + + + + + + + + + @@ -46,7 +61,9 @@ + + @@ -68,6 +85,9 @@ + + + @@ -95,6 +115,7 @@ + @@ -114,6 +135,9 @@ + + + @@ -121,6 +145,8 @@ + + @@ -304,5 +330,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd index 51b8c0d923..5e0ea8a61f 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/de.itemis.mps.baseLanguageExtensions.sandbox.msd @@ -19,6 +19,7 @@ + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps index 5d253a9b2a..cf0da2dd45 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps @@ -5,20 +5,34 @@ + + + + + + + + + + + + + + @@ -106,6 +120,7 @@ + @@ -125,14 +140,25 @@ + + + + + + + + + + + @@ -647,5 +673,277 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl b/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl index b1e9635e0b..d4201a47a3 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl @@ -51,6 +51,8 @@ + + @@ -63,6 +65,7 @@ f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage) fd392034-7849-419d-9071-12563d152375(jetbrains.mps.baseLanguage.closures) + 83888646-71ce-4f1c-9c53-c54016f6ad4f(jetbrains.mps.baseLanguage.collections) @@ -104,6 +107,7 @@ + @@ -115,6 +119,7 @@ f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage) + 83888646-71ce-4f1c-9c53-c54016f6ad4f(jetbrains.mps.baseLanguage.collections) diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps index f13f37786b..14e3ad255d 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps @@ -9,6 +9,7 @@ + @@ -47,9 +48,11 @@ + + @@ -71,7 +74,20 @@ + + + + + + + + + + + + + @@ -270,6 +286,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps index bc011b659b..686cf01b6d 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps @@ -6,6 +6,7 @@ + @@ -51,6 +52,7 @@ + @@ -110,5 +112,13 @@ + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps index 9b61803993..8ec5778047 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps @@ -6,10 +6,17 @@ + + + + + + + @@ -22,13 +29,18 @@ + + + + + @@ -51,6 +63,10 @@ + + + + @@ -58,6 +74,10 @@ + + + + @@ -114,6 +134,10 @@ + + + + @@ -130,6 +154,9 @@ + + + @@ -140,6 +167,7 @@ + @@ -153,6 +181,7 @@ + @@ -523,5 +552,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd index 096dc7144e..c30daa90b0 100644 --- a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd @@ -20,6 +20,7 @@ + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.zipOperator@tests.mps b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.zipOperator@tests.mps new file mode 100644 index 0000000000..2167c5d383 --- /dev/null +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.zipOperator@tests.mps @@ -0,0 +1,605 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From de71d0240a055eeadc9426e8b68b32e5ad999432 Mon Sep 17 00:00:00 2001 From: Dennis Albrecht Date: Wed, 24 Sep 2025 15:33:19 +0200 Subject: [PATCH 07/18] introduced groupBy runtime --- .../models/de.itemis.mps.extensions.build.mps | 15 + ...mis.mps.baseLanguageExtensions.runtime.msd | 6 + ...mis.mps.baseLanguageExtensions.runtime.mps | 230 +++++++++- ...itemis.mps.baseLanguageExtensions.test.msd | 2 + ...Extensions.test.groupByOperation@tests.mps | 406 ++++++++++++++++++ 5 files changed, 657 insertions(+), 2 deletions(-) create mode 100644 code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.groupByOperation@tests.mps diff --git a/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps b/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps index 035056d4fc..a1451bbe8f 100644 --- a/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps +++ b/code/build/solutions/de.itemis.mps.extensions.build/models/de.itemis.mps.extensions.build.mps @@ -9890,6 +9890,16 @@ + + + + + + + + + + @@ -19784,6 +19794,11 @@ + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd index 9c9eff1de1..40a6a90e06 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd @@ -11,6 +11,10 @@ + + 9b80526e-f0bf-4992-bdf5-cee39c1833f3(collections.runtime) + 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK) + @@ -21,6 +25,8 @@ + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps index a022226819..2e2e469ecf 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps @@ -9,7 +9,10 @@ - + + + + @@ -26,6 +29,7 @@ + @@ -44,12 +48,22 @@ + + + + + + + + + + @@ -95,10 +109,26 @@ + + + + + + + + + + + + + + + + @@ -123,11 +153,15 @@ + + - + + + @@ -490,5 +524,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd index c30daa90b0..60a608e2ac 100644 --- a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd @@ -14,6 +14,7 @@ d91eaf6f-a378-467f-9524-0c201ee2e15f(de.itemis.mps.baseLanguageExtensions.runtime) 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK) + 9b80526e-f0bf-4992-bdf5-cee39c1833f3(collections.runtime) @@ -28,6 +29,7 @@ + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.groupByOperation@tests.mps b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.groupByOperation@tests.mps new file mode 100644 index 0000000000..cb30a8a285 --- /dev/null +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.groupByOperation@tests.mps @@ -0,0 +1,406 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 029378d7f710aa26e60888c6fbaf048c678e5d28 Mon Sep 17 00:00:00 2001 From: Dennis Albrecht Date: Wed, 24 Sep 2025 18:31:57 +0200 Subject: [PATCH 08/18] added the GroupByOperation as base language operation --- ...mis.mps.baseLanguageExtensions.sandbox.mps | 220 ++++++++++++++ .../de.itemis.mps.baseLanguageExtensions.mpl | 2 + ...tensions.generator.templates@generator.mps | 272 +++++++++++++++++- ...mis.mps.baseLanguageExtensions.actions.mps | 261 +++++++++++++++++ ...s.mps.baseLanguageExtensions.structure.mps | 8 + ....mps.baseLanguageExtensions.typesystem.mps | 88 ++++++ ...Extensions.test.groupByOperation@tests.mps | 4 +- 7 files changed, 852 insertions(+), 3 deletions(-) create mode 100644 code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps index cf0da2dd45..23c9854c39 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps @@ -42,6 +42,7 @@ + @@ -54,7 +55,12 @@ + + + + + @@ -69,6 +75,9 @@ + + + @@ -81,6 +90,7 @@ + @@ -120,6 +130,7 @@ + @@ -155,11 +166,21 @@ + + + + + + + + + + @@ -945,5 +966,204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl b/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl index d4201a47a3..934f4b7688 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/de.itemis.mps.baseLanguageExtensions.mpl @@ -26,6 +26,7 @@ + @@ -41,6 +42,7 @@ + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps index 14e3ad255d..8014426de8 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps @@ -1,15 +1,20 @@ + + - + + + + @@ -24,6 +29,11 @@ + + + + + @@ -37,20 +47,40 @@ + + + + + + + + + + + + + + + + + + + + @@ -60,8 +90,18 @@ + + + + + + + + + + @@ -70,9 +110,13 @@ + + + + @@ -88,12 +132,18 @@ + + + + + + @@ -107,6 +157,14 @@ + + + + + + + + @@ -357,6 +415,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps new file mode 100644 index 0000000000..2d01ee8181 --- /dev/null +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps index 686cf01b6d..444382f9b0 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps @@ -120,5 +120,13 @@ + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps index 8ec5778047..d59f4615a8 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps @@ -37,6 +37,7 @@ + @@ -73,6 +74,12 @@ + + + + + + @@ -177,6 +184,10 @@ + + + + @@ -720,5 +731,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.groupByOperation@tests.mps b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.groupByOperation@tests.mps index cb30a8a285..bc2325cc2d 100644 --- a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.groupByOperation@tests.mps +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.groupByOperation@tests.mps @@ -335,7 +335,7 @@ - + @@ -370,7 +370,7 @@ - + From 8f08a7e5a08a8a1f3cbcc2b57ac5e700cee42069 Mon Sep 17 00:00:00 2001 From: Dennis Albrecht Date: Thu, 25 Sep 2025 12:05:44 +0200 Subject: [PATCH 09/18] fixed generator --- ...tensions.generator.templates@generator.mps | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps index 8014426de8..e240be1d57 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps @@ -15,6 +15,7 @@ + @@ -554,6 +555,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 25591484bfda248e545a7bd77b2ec14ecf0c2af2 Mon Sep 17 00:00:00 2001 From: Amin Ait Lamqadem Date: Thu, 25 Sep 2025 13:33:07 +0200 Subject: [PATCH 10/18] add select with index operation --- ...mis.mps.baseLanguageExtensions.runtime.mps | 107 +++++++ ...tensions.generator.templates@generator.mps | 293 ++++++++++-------- ...mis.mps.baseLanguageExtensions.actions.mps | 205 ++++++++++++ ...s.mps.baseLanguageExtensions.structure.mps | 7 + ....mps.baseLanguageExtensions.typesystem.mps | 83 +++++ ...tensions.test.withIndexOperation@tests.mps | 248 +++++++++++++++ 6 files changed, 822 insertions(+), 121 deletions(-) create mode 100644 code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.withIndexOperation@tests.mps diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps index 2e2e469ecf..d468c5ee96 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps @@ -21,6 +21,10 @@ + + + + @@ -29,6 +33,7 @@ + @@ -151,6 +156,10 @@ + + + + @@ -169,6 +178,9 @@ + + + @@ -179,7 +191,9 @@ + + @@ -716,5 +730,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps index e240be1d57..9f0266b583 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps @@ -34,7 +34,6 @@ - @@ -76,7 +75,6 @@ - @@ -91,18 +89,12 @@ - - - - - - @@ -133,9 +125,6 @@ - - - @@ -159,12 +148,11 @@ - - - - - + + + + @@ -441,22 +429,6 @@ - - - - - - - - - - - - - - - - @@ -503,50 +475,140 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + - + - - - - - + + + + + + - - - + + + - + - + @@ -555,30 +617,23 @@ - + - - - - - - - - - - - - - - - - - + + + + + + + + + + - + @@ -587,22 +642,25 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - - + + + + + @@ -613,40 +671,33 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - + - - + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps index 2d01ee8181..b16467fbe6 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps @@ -31,6 +31,7 @@ + @@ -44,6 +45,7 @@ + @@ -57,6 +59,11 @@ + + + + + @@ -257,5 +264,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps index 444382f9b0..f3eab0c673 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps @@ -128,5 +128,12 @@ + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps index d59f4615a8..d43efae57e 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps @@ -808,5 +808,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.withIndexOperation@tests.mps b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.withIndexOperation@tests.mps new file mode 100644 index 0000000000..229a3f06d4 --- /dev/null +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.withIndexOperation@tests.mps @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From eae7b51208bbe96678e08b89191a363fa6e416ed Mon Sep 17 00:00:00 2001 From: Amin Ait Lamqadem Date: Thu, 25 Sep 2025 14:10:56 +0200 Subject: [PATCH 11/18] add where and forEach with index operations --- ...mis.mps.baseLanguageExtensions.runtime.mps | 244 ++++++++++- ...tensions.generator.templates@generator.mps | 146 ++++++- ...mis.mps.baseLanguageExtensions.actions.mps | 392 +++++++++++++++++- ...s.mps.baseLanguageExtensions.structure.mps | 17 + ....mps.baseLanguageExtensions.typesystem.mps | 160 +++++++ 5 files changed, 941 insertions(+), 18 deletions(-) diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps index d468c5ee96..56a904a5d2 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps @@ -46,6 +46,7 @@ + @@ -58,6 +59,7 @@ + @@ -114,6 +116,7 @@ + @@ -130,6 +133,7 @@ + @@ -184,6 +188,7 @@ + @@ -193,6 +198,7 @@ + @@ -731,27 +737,56 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + @@ -785,6 +820,12 @@ + + + + + + @@ -821,6 +862,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps index 9f0266b583..45a1a8a71c 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps @@ -511,8 +511,8 @@ - - + + @@ -546,6 +546,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps index b16467fbe6..f6e47e7cc3 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps @@ -265,7 +265,7 @@ - + @@ -461,6 +461,396 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps index f3eab0c673..c24835c5ad 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps @@ -133,6 +133,23 @@ + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps index d43efae57e..5ba1ffdb81 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps @@ -10,6 +10,7 @@ + @@ -63,6 +64,7 @@ + @@ -136,6 +138,7 @@ + @@ -150,6 +153,7 @@ + @@ -810,6 +814,7 @@ + @@ -891,5 +896,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From b6214f1436f7fcd5847b7d4eeba975595bc046dd Mon Sep 17 00:00:00 2001 From: Amin Ait Lamqadem Date: Thu, 25 Sep 2025 14:18:02 +0200 Subject: [PATCH 12/18] add test and sandbox --- ...mis.mps.baseLanguageExtensions.sandbox.mps | 212 +++++++++++++++++ ...tensions.test.withIndexOperation@tests.mps | 216 ++++++++++++++++++ 2 files changed, 428 insertions(+) diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps index 23c9854c39..1b5d7efc2d 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps @@ -22,6 +22,7 @@ + @@ -68,6 +69,7 @@ + @@ -130,8 +132,11 @@ + + + @@ -157,6 +162,9 @@ + + + @@ -1165,5 +1173,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.withIndexOperation@tests.mps b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.withIndexOperation@tests.mps index 229a3f06d4..df3dd8a55f 100644 --- a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.withIndexOperation@tests.mps +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.withIndexOperation@tests.mps @@ -11,6 +11,12 @@ + + + + + + @@ -41,12 +47,16 @@ + + + + @@ -83,6 +93,11 @@ + + + + + @@ -242,6 +257,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 4437dcaf61e28eec9b78c75c831a9b9fee2a6cda Mon Sep 17 00:00:00 2001 From: Amin Ait Lamqadem Date: Thu, 25 Sep 2025 14:53:02 +0200 Subject: [PATCH 13/18] move node factory action to virtual package --- .../models/de.itemis.mps.baseLanguageExtensions.actions.mps | 1 + 1 file changed, 1 insertion(+) diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps index f6e47e7cc3..dc8d51ef51 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps @@ -266,6 +266,7 @@ + From 450d58dc53e5a0ddcfe8e178780d9b2ed8fdfad8 Mon Sep 17 00:00:00 2001 From: Amin Ait Lamqadem Date: Thu, 25 Sep 2025 16:31:39 +0200 Subject: [PATCH 14/18] fix bug in zip operation The following `[0..10].zip([10..inf]).zip([0..inf])` was returning the wrong result. --- ...mis.mps.baseLanguageExtensions.runtime.mps | 94 ++++++++++++------- 1 file changed, 60 insertions(+), 34 deletions(-) diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps index 56a904a5d2..fd4d6c6992 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps @@ -434,19 +434,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + @@ -455,8 +481,8 @@ - - + + @@ -464,16 +490,16 @@ - - + + - - + + @@ -481,22 +507,22 @@ - - + + - - + + - - + + @@ -552,6 +578,12 @@ + + + + + + @@ -564,12 +596,6 @@ - - - - - - @@ -695,18 +721,6 @@ - - - - - - - - - - - - @@ -733,6 +747,18 @@ + + + + + + + + + + + + From f0c9fd39e437ac705823c09ddba69194441d8174 Mon Sep 17 00:00:00 2001 From: Dennis Albrecht Date: Thu, 25 Sep 2025 13:27:15 +0200 Subject: [PATCH 15/18] introduced scope function runtime --- ...mis.mps.baseLanguageExtensions.runtime.msd | 3 + ...mis.mps.baseLanguageExtensions.runtime.mps | 258 +++++- ...itemis.mps.baseLanguageExtensions.test.msd | 1 + ...ageExtensions.test.scopeFunction@tests.mps | 871 ++++++++++++++++++ 4 files changed, 1105 insertions(+), 28 deletions(-) create mode 100644 code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.scopeFunction@tests.mps diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd index 40a6a90e06..3331a10da2 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd @@ -16,12 +16,15 @@ 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK) + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps index fd4d6c6992..6e52fc80a1 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps @@ -8,6 +8,7 @@ + @@ -156,6 +157,19 @@ + + + + + + + + + + + + + @@ -177,6 +191,9 @@ + + + @@ -465,30 +482,30 @@ + - + - - - - + + + @@ -498,14 +515,14 @@ - - - + + + @@ -515,16 +532,16 @@ + - + - @@ -578,12 +595,6 @@ - - - - - - @@ -596,6 +607,12 @@ + + + + + + @@ -721,6 +738,18 @@ + + + + + + + + + + + + @@ -747,18 +776,6 @@ - - - - - - - - - - - - @@ -1063,5 +1080,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd index 60a608e2ac..b7848156ec 100644 --- a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/de.itemis.mps.baseLanguageExtensions.test.msd @@ -25,6 +25,7 @@ + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.scopeFunction@tests.mps b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.scopeFunction@tests.mps new file mode 100644 index 0000000000..85e17e2db7 --- /dev/null +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.scopeFunction@tests.mps @@ -0,0 +1,871 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From fc8e13cd2b127cecb3c097daae6e762d3e3251c0 Mon Sep 17 00:00:00 2001 From: Dennis Albrecht Date: Thu, 25 Sep 2025 14:29:05 +0200 Subject: [PATCH 16/18] added the scope function operations as base language operation --- ...mis.mps.baseLanguageExtensions.sandbox.mps | 143 +++++- ...tensions.generator.templates@generator.mps | 344 +++++++++++++- ...mis.mps.baseLanguageExtensions.actions.mps | 274 ++++++++++- ...emis.mps.baseLanguageExtensions.editor.mps | 26 + ...s.mps.baseLanguageExtensions.structure.mps | 62 ++- ....mps.baseLanguageExtensions.typesystem.mps | 443 +++++++++++++++--- ...tensions.test.withIndexOperation@tests.mps | 2 +- 7 files changed, 1200 insertions(+), 94 deletions(-) diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps index 1b5d7efc2d..6f50aa8933 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps @@ -59,9 +59,11 @@ + + @@ -135,6 +137,12 @@ + + + + + + @@ -1250,8 +1258,8 @@ - - + + @@ -1271,7 +1279,7 @@ - + @@ -1308,8 +1316,8 @@ - - + + @@ -1332,8 +1340,8 @@ - - + + @@ -1377,5 +1385,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps index 45a1a8a71c..377562bbf5 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps @@ -428,7 +428,7 @@ - + @@ -480,7 +480,7 @@ - + @@ -499,7 +499,7 @@ - + @@ -688,9 +688,342 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -847,11 +1180,6 @@ - - - - - diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps index dc8d51ef51..44c1b6a523 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.actions.mps @@ -374,7 +374,7 @@ - + @@ -853,5 +853,277 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.editor.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.editor.mps index 3f7449b55d..fa47bcea24 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.editor.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.editor.mps @@ -10,6 +10,7 @@ + @@ -34,6 +35,9 @@ + + + @@ -412,5 +416,27 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps index c24835c5ad..06e37d757d 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.structure.mps @@ -14,6 +14,7 @@ + @@ -128,11 +129,11 @@ - - - - - + + + + + @@ -144,13 +145,54 @@ - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps index 5ba1ffdb81..2285cada8f 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.typesystem.mps @@ -11,6 +11,7 @@ + @@ -158,6 +159,7 @@ + @@ -828,7 +830,7 @@ - + @@ -845,7 +847,7 @@ - + @@ -860,7 +862,7 @@ - + @@ -896,66 +898,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -969,7 +911,7 @@ - + @@ -1006,7 +948,7 @@ - + @@ -1023,7 +965,7 @@ - + @@ -1035,7 +977,7 @@ - + @@ -1051,5 +993,372 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.withIndexOperation@tests.mps b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.withIndexOperation@tests.mps index df3dd8a55f..31da01ff29 100644 --- a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.withIndexOperation@tests.mps +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.withIndexOperation@tests.mps @@ -193,7 +193,7 @@ - + From 56756dee1ab407fb82602cce2bf6acf5218d5211 Mon Sep 17 00:00:00 2001 From: Dennis Albrecht Date: Fri, 26 Sep 2025 11:46:58 +0200 Subject: [PATCH 17/18] restricted presence of SmartClosureParameterDeclarations --- ...mis.mps.baseLanguageExtensions.sandbox.mps | 81 ++++++++++++ ...mps.baseLanguageExtensions.constraints.mps | 117 ++++++++++++++++++ 2 files changed, 198 insertions(+) diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps index 6f50aa8933..c09016bc49 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.sandbox/models/de.itemis.mps.baseLanguageExtensions.sandbox.mps @@ -1491,6 +1491,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.constraints.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.constraints.mps index 1abf125080..50d719bcb8 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.constraints.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/models/de.itemis.mps.baseLanguageExtensions.constraints.mps @@ -7,9 +7,13 @@ + + + + @@ -17,18 +21,40 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -36,14 +62,29 @@ + + + + + + + + + + + + + + + @@ -64,5 +105,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 061b80647dcd965e2a073b0ca2db3dcffc6b9660 Mon Sep 17 00:00:00 2001 From: Dennis Albrecht Date: Fri, 26 Sep 2025 11:16:23 +0200 Subject: [PATCH 18/18] rewrote groupBy-runtime to mps-collection-types to support type inference --- ...mis.mps.baseLanguageExtensions.runtime.msd | 1 - ...mis.mps.baseLanguageExtensions.runtime.mps | 93 ++++----- ...tensions.generator.templates@generator.mps | 42 ++-- ...Extensions.test.groupByOperation@tests.mps | 182 ++++++++---------- 4 files changed, 147 insertions(+), 171 deletions(-) diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd index 3331a10da2..6081d5e7f6 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/de.itemis.mps.baseLanguageExtensions.runtime.msd @@ -18,7 +18,6 @@ - diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps index 6e52fc80a1..c0c8920643 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions.runtime/models/de.itemis.mps.baseLanguageExtensions.runtime.mps @@ -6,7 +6,6 @@ - @@ -202,6 +201,9 @@ + + + @@ -210,10 +212,22 @@ + + + + + + + + + + + + @@ -600,9 +614,8 @@ - - - + + @@ -616,14 +629,13 @@ - + - - - - + + + @@ -636,7 +648,7 @@ - + @@ -667,9 +679,12 @@ - - - + + + + + + @@ -677,18 +692,16 @@ - - - - - + + + + - - - - - + + + + @@ -708,44 +721,39 @@ - - - - - + + + - + - + - - - + + - + - - - + + - - - + + @@ -758,9 +766,8 @@ - - - + + diff --git a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps index 377562bbf5..821cdabd2d 100644 --- a/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps +++ b/code/languages/de.itemis.mps.baseLanguageExtensions/generator/templates/de.itemis.mps.baseLanguageExtensions.generator.templates@generator.mps @@ -407,44 +407,44 @@ - + - - - - - - - + + + + + + + - + - - + + - - - - - - + + + + + + - - - + + + - + diff --git a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.groupByOperation@tests.mps b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.groupByOperation@tests.mps index bc2325cc2d..6e6d4a8873 100644 --- a/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.groupByOperation@tests.mps +++ b/code/solutions/de.itemis.mps.baseLanguageExtensions.test/models/de.itemis.mps.baseLanguageExtensions.test.groupByOperation@tests.mps @@ -5,36 +5,23 @@ + - - - - - - - - - - - - - - @@ -44,9 +31,6 @@ - - - @@ -81,7 +65,6 @@ - @@ -93,10 +76,6 @@ - - - - @@ -130,6 +109,25 @@ + + + + + + + + + + + + + + + + + + + @@ -169,9 +167,6 @@ - - - @@ -182,6 +177,12 @@ + + + + + + @@ -193,22 +194,19 @@ - - - + - + - - - + + - + @@ -251,9 +249,6 @@ - - - @@ -264,6 +259,12 @@ + + + + + + @@ -275,23 +276,20 @@ - - - + - - - + + + - - - + + - - + + @@ -328,78 +326,50 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - + + + + + + - - - + + + + + + + + - - - - - - - - - - + + + + + + + + +