mps-coderules/coderules/languages
Grigorii Kirgizov e2b3c21b2f Change semantics of implicit ListFeature: treat as wildcard, not as empty list
Motivation is that implicit (non-overriden) list features must unify
with list of any length. Consider an example:
`classifier(cls: node-ptr/A/) = classifier(cls: node-ptr/A/ param: [B,C])`
With previous approach it would fail, which seems counter-intuitive to me.
So, if empty list (e.g. of type parameters) is meant, then it must be
specified explicitly.

There's one thing to remember, though: such wildcard list features
won't match with MetaLogicalArrays in rule heads.
(e.g. see dpromote_* rules and consider what happens when
a classifier with unbound `parameter` feature comes in)
2020-05-21 16:38:36 +03:00
..
jetbrains.mps.lang.coderules Change semantics of implicit ListFeature: treat as wildcard, not as empty list 2020-05-21 16:38:36 +03:00
jetbrains.mps.lang.controlflow Apply automatic migrations. 2020-05-09 15:04:25 +02:00
jetbrains.mps.lang.smodel.types/generator/template Drop language j.m.l.smodel.types containing SNodeTypeOp that is no longer used. 2019-11-11 14:37:41 +01:00
jetbrains.mps.lang.typechecking Apply automatic migrations. 2020-05-09 15:04:25 +02:00
jetbrains.mps.logic Apply automatic migrations. 2020-05-09 15:04:25 +02:00
jetbrains.mps.typechecking.annotation Apply automatic migrations. 2020-05-09 15:04:25 +02:00
jetbrains.mps.typechecking.testlang Apply automatic migrations. 2020-05-09 15:04:25 +02:00
jetbrains.mps.typechecking.testlangCycle1/generator/templates Drop unnecessary test languages. 2020-05-07 10:23:04 +02:00
jetbrains.mps.typechecking.testlangCycle2/generator/templates Drop unnecessary test languages. 2020-05-07 10:23:04 +02:00