Fedor Isakov
74a5d9d441
Auto-updated descriptors.
2018-06-16 12:53:46 +02:00
Fedor Isakov
db04f57c41
Move baselanguage-related stuff to another location within the project.
2018-06-15 11:09:01 +02:00
Fedor Isakov
a74f00f688
Introduce controlflow language and corresponding solutions as another example of applying code rules in practice.
2018-06-14 16:19:06 +02:00
Fedor Isakov
20c107e428
Introduce j.m.lang.typechecking lang to provide typechecking aspect-related services. Abstract away aspect generation/discovery logic to make it reusable.
2018-06-14 15:02:22 +02:00
Fedor Isakov
a8e6c565b5
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
Fedor Isakov
3f67662683
Dropped deprecated constructs in typesystem2 lang.
2018-06-12 13:01:44 +02:00
Fedor Isakov
a58caa24ef
Drop support for HandlingStage. Stages no longer necessary in presence of queries.
2018-06-11 19:15:46 +02:00
Fedor Isakov
3698fdd1a5
Typechecking templates: manually migrated hard rules to rule templates.
2018-06-07 16:31:02 +02:00
Fedor Isakov
3310b6cd12
Sample lang: automatically migrated simple rules to rule templates.
2018-06-07 15:48:32 +02:00
Fedor Isakov
6707f67fca
Typechecking templates: automatically migrated simple rules to rule templates.
2018-06-07 15:48:19 +02:00
Fedor Isakov
c84e86bbb2
Use correct query kind in testlang.
2018-06-06 12:30:56 +02:00
Fedor Isakov
eb75184949
Typechecking templates: switch to single stage. Use query's conjunction to order check and recover.
2018-06-06 11:34:45 +02:00
Fedor Isakov
c0477d8686
Typechecking templates: rename "SubtypeOf" query to "ConvertsTo". Use the "converts" constraint.
2018-06-05 15:07:38 +02:00
Fedor Isakov
2de4d69781
Introduce QueryKind. Fix the kinds of typechecking queries. Avoid directly linking the queries in types aspect.
2018-06-04 18:45:08 +02:00
Fedor Isakov
44fb682ee1
Sample test language.
2018-05-24 12:00:44 +02:00
Fedor Isakov
26e6df3983
Typechecking templates: drop auto rules that launch "checkAll" and "recoverAll", switch to queries instead.
2018-05-24 11:54:02 +02:00
Fedor Isakov
e056befb4e
Establish module dependencies that make sense.
2018-05-17 12:07:50 +02:00
Fedor Isakov
b4b56f20b9
Typechecking templates: default query "main".
2018-05-17 12:07:50 +02:00
Fedor Isakov
0713c80a27
Typechecking templates: drop internal "typeOf" constraint, replace with custom declaration.
2018-04-25 16:34:24 +02:00
Fedor Isakov
2f6efaa10a
Drop "auto" constraint rules with empty Head.
2018-04-24 17:19:53 +02:00
Fedor Isakov
51297a956f
Typechecking templates: specify "extends" where necessary.
2018-04-24 17:19:53 +02:00
Fedor Isakov
849116d2e4
Applied the migration.
2018-04-19 16:30:41 +02:00
Fedor Isakov
c01e1d76c9
Refactoring: moving term-related concepts into a separate language, use dataform nomenclature instead of term where possible. Create migration.
2018-04-19 16:30:23 +02:00
Fedor Isakov
085918e21a
Refactoring: rename treeform to dataform everywhere in the runtime.
2018-04-17 13:56:32 +02:00
Fedor Isakov
4ec6bff2e2
Typechecking templates: ran the migration.
2018-04-10 16:17:43 +02:00
Fedor Isakov
487ddddff3
Switched to MPS 2018.1
2018-04-10 14:22:48 +02:00
Fedor Isakov
638333989b
Typechecking templates: migrate to assign type operation, drop typeNode/2 constraint.
2018-04-03 15:16:19 +02:00
Fedor Isakov
5f842657b0
Typechecking templates: get rid of RecoverSolver hacks.
2018-04-03 12:16:48 +02:00
Fedor Isakov
9c832b73b3
Testing RuleTemplate with constraint rules in a sandbox.
2018-04-03 12:16:48 +02:00
Fedor Isakov
476b8ad2ee
Migration applied.
2018-04-03 12:16:47 +02:00
Fedor Isakov
ccb46e8ce1
Simplify constraint rules editor. Use "!" to mark kept constraints in the head.
2018-04-03 12:16:47 +02:00
Fedor Isakov
213f01f47d
Require statement to replace "required block".
2018-04-03 12:16:47 +02:00
Fedor Isakov
1112b940a1
Test language for the RuleTemplate.
2018-04-03 12:16:44 +02:00
Fedor Isakov
d3a4e21ca9
Migrated to MPS2017.3.
2017-12-06 16:36:28 +01:00
Fedor Isakov
fe27d40d4b
Typechecking templates: drop "final" features, use the prototype term feature.
2017-11-12 16:45:32 +01:00
Fedor Isakov
724addd354
Typechecking templates: apply the migrations; cleanup code; remove ad-hoc default feature values dependent on internal API.
2017-11-10 12:13:39 +01:00
Fedor Isakov
c24b4d1044
Typechecking templates: move constraint declarations to handlers, remove the only solver root.
2017-11-09 14:07:27 +01:00
Fedor Isakov
1541244395
Typechecking templates: add a rule to discharge hasBound of a captureOf type.
2017-11-03 12:08:17 +01:00
Fedor Isakov
aa8258c365
Typechecking templates: Applied migrations. Replace ad-hoc logical value access with valueOf expressions.
2017-11-01 10:52:15 +01:00
Fedor Isakov
c9c8ed39b4
Typechecking templates: Manual migrations and cleanup. Applied the migrations.
2017-10-27 16:30:28 +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
bc3ff79a9c
Migration applied: extract ListRole.
2017-10-23 12:08:50 +02:00
Fedor Isakov
643b5b67b3
Typechecking templates: ensure the term has default values.
2017-10-23 10:22:48 +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
272c83ad3c
Typechecking templates: model updated in respect to the language changes, migration applied.
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
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
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
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