Commit Graph

109 Commits

Author SHA1 Message Date
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