Fedor Isakov
fd45d86d70
Logic lang: Drop usage of LogicalValue as a wrapper for Expression, migration to replace existing instances; Minor editor fixes.
2017-10-25 16:32:06 +02:00
Fedor Isakov
b3b62d2cca
UI: Fix presentation of terms, values and lists.
2017-10-24 16:05:05 +02:00
Fedor Isakov
4d2f6c4720
Drop usages of hardcoded "node" symbol. Rely on finders.
2017-10-24 16:05:05 +02:00
Fedor Isakov
0d6ff0d2e4
Fix treeform finders. Minor fixes.
2017-10-24 16:04:59 +02:00
Fedor Isakov
4f5d2c62fe
Typesystem2 lang: Deprecate an obsolete superfluos language construct.
2017-10-23 13:58:47 +02:00
Fedor Isakov
090bb22d9e
Typechecking templates: replace ad-hoc list expressions with ListExpression. Use latter instead of TermListExpr.
2017-10-23 13:58:02 +02:00
Fedor Isakov
5a5c7e6b77
Typechecking templates: replace ad-hoc list expressions with ListExpression.
2017-10-23 13:51:22 +02:00
Fedor Isakov
4c37334b46
Logic lang: introduce ListExpression, intention to replace "list" ListRole with it.
2017-10-23 13:51:00 +02:00
Fedor Isakov
bc3ff79a9c
Migration applied: extract ListRole.
2017-10-23 12:08:50 +02:00
Fedor Isakov
582c8d32d3
Logic language: introduce ListRole, create a migration to extract ChildRole with single list to ListRole.
2017-10-23 12:08:32 +02:00
Fedor Isakov
f4a3f1fae5
Logic language runtime: refactor the TreeForm API for cleaner and more readable design, code cleanup, drop obsolete code.
2017-10-23 10:54:30 +02:00
Fedor Isakov
e9a35f4fae
Fix module dependencies
2017-10-23 10:23:12 +02:00
Fedor Isakov
643b5b67b3
Typechecking templates: ensure the term has default values.
2017-10-23 10:22:48 +02:00
Fedor Isakov
7c28db8854
UI: Drop string hacks, drop hardcoded term feature names. Code cleanup.
2017-10-19 17:55:09 +02:00
Fedor Isakov
f72dc69216
Typechecking templates: Drop string hacks in terms. Getting rid of hardcoded term features.
2017-10-19 17:55:08 +02:00
Fedor Isakov
c94be5ac3b
Typesystem2 language: drop unused (superfluous) concept, drop string hacks. Getting rid of hardcoded term features.
2017-10-19 17:54:59 +02:00
Fedor Isakov
3264ee9332
Logic language: Drop obsolete code, streamline generation of TreeForm. Remove obsolete editor actions. Testing non-string values.
2017-10-18 12:42:26 +02:00
Fedor Isakov
7aef68dfc3
Typesystem2 language refactoring: Delete obsolete unused code. Rename the runtime model (type->macro).
2017-10-18 12:41:49 +02:00
Fedor Isakov
fff6d935ec
Switch to the latest MPS release.
2017-10-16 15:46:04 +02:00
Fedor Isakov
12afe4fa9c
Update the distribution zip file name to correspond to the package version (0.2).
2017-10-16 14:32:46 +02:00
Fedor Isakov
272c83ad3c
Typechecking templates: model updated in respect to the language changes, migration applied.
2017-10-16 13:55:32 +02:00
Fedor Isakov
19af096768
Typesystem2 language: new nomenclature, "Macro Table" instead of "Type Table", call/expand operations instead of newType/asType, specify applicable concept as MacroInputDeclaration's type, replace TypeNodeExpression with MacroInputParameter, migration.
2017-10-16 13:55:32 +02:00
Fedor Isakov
6e505e3315
Switch to the latest conreactor revision.
2017-10-16 13:55:32 +02:00
Fedor Isakov
8602a3ba32
Typechecking templates: Structural changes in j.m.l.typeystem2 lang. Getting rid of AnchorUtil usages.
2017-10-16 13:55:27 +02:00
Fedor Isakov
e60bfc4158
Typesystem2 lang: Use NodeAnchor to make a reference to a node explicit. Replace LogicalValue with Expression where applicable. Drop the type-dependent hacks, git rid of constructing terms by hand in AnchorUtil. Migrations.
2017-10-13 11:51:18 +02:00
Fedor Isakov
c2b445b8e0
Update samples: raw type.
2017-10-13 11:51:11 +02:00
Fedor Isakov
adbd00aeed
Ensure local typechecking produces same results when running tests.
2017-10-13 11:49:45 +02:00
Fedor Isakov
1a284c9c58
Typechecking templates: Ensure required nodes are specified by the rules. Raw classifier types support.
2017-10-13 11:49:45 +02:00
Fedor Isakov
7cdbb939ef
Include into the processing the required node for standalone rules.
2017-10-09 13:15:13 +02:00
Fedor Isakov
6aadc5a9b5
Fix the list of constraints not considered garbage.
2017-10-04 15:47:02 +02:00
Fedor Isakov
6d42745a52
Typechecking templates:
...
Reimplement capture constraint, use capture for type inference, introduce captureOf type.
Remove lbound, replace ubound with hasBound.
Fix the classifier type well-formedness check.
Minor fixes.
2017-10-04 15:47:02 +02:00
Fedor Isakov
ce77d05486
Minor fixes in the samples. Make bad samples bad again.
2017-10-04 15:47:02 +02:00
Fedor Isakov
3adfaf1ec2
Fix model read violation by wrapping SearchQuery construction into a read action.
2017-10-01 14:37:33 +02:00
Fedor Isakov
941e62fa55
Fix generation of 'for' and other inheritors of IContainStatementList.
...
Skip body clauses from building the list of required nodes.
2017-10-01 14:37:33 +02:00
Fedor Isakov
3ce85cac5e
Introduce snapshot history. Activation sink to record all snapshots and allow to refer to snapshot taken at particular instant. This is used in the Store sink in order to correctly represent logical assignments and unions. Snapshot history is reused by the next stage program.
2017-09-26 11:37:35 +02:00
Fedor Isakov
651fb9ac66
Activation trace: emphasise constraint occurrences in the store view relevant to the selected occurrence event.
2017-09-25 11:34:12 +02:00
Fedor Isakov
6f95100696
Standardise term symbol names.
...
Typechecking UI: display variable values in the activation trace view as condensed terms.
2017-09-20 16:23:31 +02:00
Fedor Isakov
975beae9bb
Refactor Show Type action to also display progress.
2017-09-18 13:34:01 +02:00
Fedor Isakov
f0a7ab2317
Make types cache store type models by source root instead of model.
2017-09-15 15:10:55 +02:00
Fedor Isakov
9bc019c58d
Show Node Type action to show single node's type. Minor refactoring in ui plugin.
2017-09-15 14:18:18 +02:00
Fedor Isakov
2b123d9f42
Apply rule templates from all stages in one pass.
...
A heuristic to collect nodes required for local typechecking.
Minor changes in typesystem2 runtime.
2017-09-14 18:54:19 +02:00
Fedor Isakov
bad0e86d85
Test recursive type.
2017-09-13 16:41:56 +02:00
Fedor Isakov
4c8952a09a
Typechecking templates: protect from NPE; guard aganst infinite recursion while constructing terms for recursive type; more primitive subtyping cases.
2017-09-13 16:41:47 +02:00
Fedor Isakov
0ef1798c1a
Fix infinite cycle in Snapshot. Include the exception that caused failure while evaluating rules.
2017-09-13 16:05:07 +02:00
Fedor Isakov
f8c265dcc7
Use PooledThreadExecutor for background scheduling. Ad-hoc support for handling fatal errors during execution, such as StackOverflowError.
2017-09-12 17:11:43 +02:00
Fedor Isakov
b33aa6fd76
Introduce module for type models managed by the types cache.
2017-09-12 13:01:36 +02:00
Fedor Isakov
490abaad0f
Typechecking plugin: ensure the highlighting is part of the reactive scheme. Expose errors during highlighting to the user.
2017-09-11 13:17:34 +02:00
Fedor Isakov
dd35ff9200
Migrated to 2017.2.1
2017-09-08 12:19:46 +02:00
Fedor Isakov
1c2bfc7346
Typechecking templates: add missing support for primitive types; protect rule applications from running into a cycle on recursive types; git rid of cycles in the typechecking.
2017-08-23 14:33:30 +02:00
Fedor Isakov
e9c8897bfa
Refactor out common typechecking actions. An action to mark a single node's type.
2017-08-23 14:33:25 +02:00