Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ All notable changes to this project are documented in this file.
Format of the log is _loosely_ based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
The project does _not_ follow Semantic Versioning and the changes are documented in reverse chronological order, grouped by calendar month.

## December 2025

### Fixed
- ForEachOp now also allows explicit lambdas
- The completion menu for the expression of lambda-related operations now only contains subconcepts of ILambdaLike

## November 2025

### Fixed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3441,7 +3441,7 @@
<node concept="2OqwBi" id="7SZA7Uei_Op" role="2Oq$k0">
<node concept="13iPFW" id="7SZA7Uei_Oq" role="2Oq$k0" />
<node concept="3TrEf2" id="7SZA7Uei_Or" role="2OqNvi">
<ref role="3Tt5mk" to="700h:7SZA7UeMt3K" resolve="arg" />
<ref role="3Tt5mk" to="700h:6zmBjqUjnKt" resolve="arg" />
</node>
</node>
<node concept="zfrQC" id="7SZA7Uei_Os" role="2OqNvi">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@
<concept id="6702802731807351367" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_CanBeAChild" flags="in" index="9S07l" />
<concept id="6702802731807420587" name="jetbrains.mps.lang.constraints.structure.ConstraintFunction_CanBeAParent" flags="ig" index="9SLcT" />
<concept id="1202989658459" name="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_parentNode" flags="nn" index="nLn13" />
<concept id="4303308395523096213" name="jetbrains.mps.lang.constraints.structure.ConstraintFunctionParameter_childConcept" flags="ng" index="2DD5aU" />
<concept id="1147467115080" name="jetbrains.mps.lang.constraints.structure.NodePropertyConstraint" flags="ng" index="EnEH3">
<reference id="1147467295099" name="applicableProperty" index="EomxK" />
<child id="1147468630220" name="propertyGetter" index="EtsB7" />
Expand Down Expand Up @@ -187,6 +188,9 @@
<child id="3906496115198199033" name="conceptArgument" index="3oSUPX" />
</concept>
<concept id="1171407110247" name="jetbrains.mps.lang.smodel.structure.Node_GetAncestorOperation" flags="nn" index="2Xjw5R" />
<concept id="1180031783296" name="jetbrains.mps.lang.smodel.structure.Concept_IsSubConceptOfOperation" flags="nn" index="2Zo12i">
<child id="1180031783297" name="conceptArgument" index="2Zo12j" />
</concept>
<concept id="2644386474302386080" name="jetbrains.mps.lang.smodel.structure.PropertyIdRefExpression" flags="nn" index="355D3s">
<reference id="2644386474302386081" name="conceptDeclaration" index="355D3t" />
<reference id="2644386474302386082" name="propertyDeclaration" index="355D3u" />
Expand Down Expand Up @@ -1743,5 +1747,22 @@
</node>
</node>
</node>
<node concept="1M2fIO" id="6$cVN8sETWU">
<ref role="1M2myG" to="700h:6$cVN8sEQ7y" resolve="OneArgLambdaCollectionOp" />
<node concept="9SLcT" id="6$cVN8sETWV" role="9SGkU">
<node concept="3clFbS" id="6$cVN8sETWW" role="2VODD2">
<node concept="3clFbF" id="6$cVN8sEUcg" role="3cqZAp">
<node concept="2OqwBi" id="6$cVN8ujK$S" role="3clFbG">
<node concept="2DD5aU" id="6$cVN8ujGDS" role="2Oq$k0" />
<node concept="2Zo12i" id="6$cVN8ujLgy" role="2OqNvi">
<node concept="chp4Y" id="6$cVN8ujL_3" role="2Zo12j">
<ref role="cht4Q" to="zzzn:2D48zR6a1ez" resolve="ILambdaLike" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</model>

Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@
<property role="34LRSv" value="map" />
<property role="EcuMT" value="7554398283340640412" />
<property role="R4oN_" value="create a map from the collection via a map-function" />
<ref role="1TJDcQ" node="6zmBjqUjnKs" resolve="OneArgCollectionOp" />
<ref role="1TJDcQ" node="6$cVN8sEQ7y" resolve="OneArgLambdaCollectionOp" />
<node concept="PrWs8" id="6zmBjqUmg4u" role="PzmwI">
<ref role="PrY4T" to="zzzn:6zmBjqUm7Mf" resolve="IShortLambdaContainer" />
</node>
Expand Down Expand Up @@ -362,7 +362,7 @@
<property role="R5$K2" value="false" />
<property role="EcuMT" value="8872269265515327232" />
<property role="R4oN_" value="a base collection operation for operations with one predicate argument" />
<ref role="1TJDcQ" node="6zmBjqUjnKs" resolve="OneArgCollectionOp" />
<ref role="1TJDcQ" node="6$cVN8sEQ7y" resolve="OneArgLambdaCollectionOp" />
<node concept="PrWs8" id="7SZA7UeV1IM" role="PzmwI">
<ref role="PrY4T" to="zzzn:6zmBjqUm7Mf" resolve="IShortLambdaContainer" />
</node>
Expand Down Expand Up @@ -769,14 +769,7 @@
<property role="34LRSv" value="foreach" />
<property role="EcuMT" value="9097157441620016186" />
<property role="R4oN_" value="perform action for each element" />
<ref role="1TJDcQ" node="6zmBjqUjnKs" resolve="OneArgCollectionOp" />
<node concept="1TJgyj" id="7SZA7UeMt3K" role="1TKVEi">
<property role="IQ2ns" value="9097157441640583408" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="arg" />
<ref role="20lvS9" to="zzzn:6zmBjqUm7MQ" resolve="ShortLambdaExpression" />
<ref role="20ksaX" node="6zmBjqUjnKt" resolve="arg" />
</node>
<ref role="1TJDcQ" node="6$cVN8sEQ7y" resolve="OneArgLambdaCollectionOp" />
<node concept="PrWs8" id="7SZA7Ud$02w" role="PzmwI">
<ref role="PrY4T" node="6zmBjqUjnPd" resolve="IContextTypedCollOp" />
</node>
Expand Down Expand Up @@ -1225,5 +1218,12 @@
<ref role="PrY4T" node="6zmBjqUiHHJ" resolve="IOrderedCollectionOp" />
</node>
</node>
<node concept="1TIwiD" id="6$cVN8sEQ7y">
<property role="EcuMT" value="7569688072211358178" />
<property role="R5$K7" value="true" />
<property role="TrG5h" value="OneArgLambdaCollectionOp" />
<property role="R4oN_" value="a base collection operation for operations with one lambda argument" />
<ref role="1TJDcQ" node="6zmBjqUjnKs" resolve="OneArgCollectionOp" />
</node>
</model>

Original file line number Diff line number Diff line change
Expand Up @@ -4024,37 +4024,49 @@
<property role="TrG5h" value="check_ForeachOp" />
<property role="3GE5qa" value="collection" />
<node concept="3clFbS" id="7SZA7Ud$032" role="18ibNy">
<node concept="3clFbJ" id="7SZA7Ud$27L" role="3cqZAp">
<node concept="3clFbS" id="7SZA7Ud$27N" role="3clFbx">
<node concept="2MkqsV" id="7SZA7Ud$2Ic" role="3cqZAp">
<node concept="Xl_RD" id="7SZA7Ud$2IB" role="2MkJ7o">
<property role="Xl_RC" value="the lambda expression must have an effect" />
</node>
<node concept="1YBJjd" id="7SZA7Ud$2Jt" role="1urrMF">
<ref role="1YBMHb" node="7SZA7Ud$034" resolve="fo" />
</node>
<node concept="Jncv_" id="6$cVN8teWrm" role="3cqZAp">
<ref role="JncvD" to="zzzn:2D48zR6a1ez" resolve="ILambdaLike" />
<node concept="2OqwBi" id="6$cVN8teWK1" role="JncvB">
<node concept="1YBJjd" id="6$cVN8teWtu" role="2Oq$k0">
<ref role="1YBMHb" node="7SZA7Ud$034" resolve="fo" />
</node>
<node concept="3TrEf2" id="6$cVN8teXxw" role="2OqNvi">
<ref role="3Tt5mk" to="700h:6zmBjqUjnKt" resolve="arg" />
</node>
</node>
<node concept="3fqX7Q" id="7SZA7Ud$287" role="3clFbw">
<node concept="2OqwBi" id="6GySMNjYF2A" role="3fr31v">
<node concept="2OqwBi" id="5vAcs0YtS$f" role="2Oq$k0">
<node concept="2OqwBi" id="7SZA7Ud$2nl" role="2Oq$k0">
<node concept="1YBJjd" id="7SZA7Ud$28d" role="2Oq$k0">
<ref role="1YBMHb" node="7SZA7Ud$034" resolve="fo" />
<node concept="3clFbS" id="6$cVN8teWrq" role="Jncv$">
<node concept="3clFbJ" id="6$cVN8teXTd" role="3cqZAp">
<node concept="3fqX7Q" id="6$cVN8teXTm" role="3clFbw">
<node concept="2OqwBi" id="6$cVN8teZk$" role="3fr31v">
<node concept="2OqwBi" id="6$cVN8teYyf" role="2Oq$k0">
<node concept="Jnkvi" id="6$cVN8teYl3" role="2Oq$k0">
<ref role="1M0zk5" node="6$cVN8teWrs" resolve="lambdaArg" />
</node>
<node concept="2qgKlT" id="6$cVN8teZ5s" role="2OqNvi">
<ref role="37wK5l" to="5s8v:6NpHfQ5A3Wb" resolve="delayedEffectDescriptor" />
</node>
</node>
<node concept="3TrEf2" id="5vAcs0YtRHG" role="2OqNvi">
<ref role="3Tt5mk" to="700h:7SZA7UeMt3K" resolve="arg" />
<node concept="liA8E" id="6$cVN8tf0aH" role="2OqNvi">
<ref role="37wK5l" to="oq0c:6GySMNjje8w" resolve="modifiesState" />
</node>
</node>
<node concept="2qgKlT" id="5vAcs0YtTGY" role="2OqNvi">
<ref role="37wK5l" to="5s8v:6NpHfQ5A3Wb" resolve="delayedEffectDescriptor" />
</node>
</node>
<node concept="liA8E" id="6GySMNjYF$H" role="2OqNvi">
<ref role="37wK5l" to="oq0c:6GySMNjje8w" resolve="modifiesState" />
<node concept="3clFbS" id="6$cVN8teXTf" role="3clFbx">
<node concept="2MkqsV" id="7SZA7Ud$2Ic" role="3cqZAp">
<node concept="Xl_RD" id="7SZA7Ud$2IB" role="2MkJ7o">
<property role="Xl_RC" value="the lambda expression must have an effect" />
</node>
<node concept="1YBJjd" id="7SZA7Ud$2Jt" role="1urrMF">
<ref role="1YBMHb" node="7SZA7Ud$034" resolve="fo" />
</node>
</node>
</node>
</node>
</node>
<node concept="JncvC" id="6$cVN8teWrs" role="JncvA">
<property role="TrG5h" value="lambdaArg" />
<node concept="2jxLKc" id="6$cVN8teWrt" role="1tU5fm" />
</node>
</node>
</node>
<node concept="1YaCAy" id="7SZA7Ud$034" role="1YuTPh">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12331,7 +12331,7 @@
</node>
</node>
<node concept="3TrEf2" id="$9KWJrnf4y" role="2OqNvi">
<ref role="3Tt5mk" to="700h:7SZA7UeMt3K" resolve="arg" />
<ref role="3Tt5mk" to="700h:6zmBjqUjnKt" resolve="arg" />
</node>
</node>
</node>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -881,7 +881,7 @@
<property role="TrG5h" value="GroupByOp" />
<property role="34LRSv" value="groupBy" />
<property role="R4oN_" value="group the collection by a condition" />
<ref role="1TJDcQ" to="700h:6zmBjqUjnKs" resolve="OneArgCollectionOp" />
<ref role="1TJDcQ" to="700h:6$cVN8sEQ7y" resolve="OneArgLambdaCollectionOp" />
<node concept="PrWs8" id="7cphKbKo1Dk" role="PzmwI">
<ref role="PrY4T" to="zzzn:6zmBjqUm7Mf" resolve="IShortLambdaContainer" />
</node>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6542,7 +6542,7 @@
<node concept="1eOMI4" id="7SZA7Ud$uXt" role="33vP2m">
<node concept="10QFUN" id="7SZA7Ud$uXu" role="1eOMHV">
<node concept="rqRoa" id="7SZA7Ud$uXv" role="10QFUP">
<ref role="rqRob" to="700h:7SZA7UeMt3K" resolve="arg" />
<ref role="rqRob" to="700h:6zmBjqUjnKt" resolve="arg" />
</node>
<node concept="3uibUv" id="7SZA7Ud$uXw" role="10QFUM">
<ref role="3uigEE" to="sxpq:$yb$20kU6$" resolve="ExecutableValue" />
Expand Down