mps-coderules/coderules/languages/jetbrains.mps.lang.coderules
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
..
generator/template Change semantics of implicit ListFeature: treat as wildcard, not as empty list 2020-05-21 16:38:36 +03:00
languageModels Allow terms to inherit features from ancestor terms 2020-05-21 16:31:36 +03:00
runtime Manually migrate try statements that were not auto-migrated. 2020-05-09 15:07:06 +02:00
jetbrains.mps.lang.coderules.mpl Apply automatic migrations. 2020-05-09 15:04:25 +02:00
jetbrains.mps.lang.typesystem2.migration Rename the language and runtime solution: typesystem2 -> coderules. Move typechecking-related stuff to typechecking solution. Reorganize modules, delete obsolete stuck files. 2018-06-12 18:00:30 +02:00