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
fda586c45c
Extract generic support for launching code rules into a separate plugin solution.
2018-06-13 14:34:41 +02:00
Fedor Isakov
c6a3b94f9a
Bump up plugin version to 0.5.
2018-06-12 18:12:05 +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
760ec4e736
Fix a dependency problem.
2018-06-12 13:06:30 +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
49296df88f
Fix the dependencies to avoid breaking the build.
2018-05-24 12:47:25 +02:00
Fedor Isakov
ce688b3672
Refactor ProgramProducer to use query templates.
...
Switch to using queries to launch program stages.
Refactor typesystem2 lang and runtime to break queries into stages.
Rename ChrProgram to LogicProgram.
2018-05-24 11:54:01 +02:00
Fedor Isakov
e056befb4e
Establish module dependencies that make sense.
2018-05-17 12:07:50 +02:00
Fedor Isakov
1b564b3057
Implementing QueryTemplate API and support in the evaluation environment.
2018-05-17 12:07:50 +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
487ddddff3
Switched to MPS 2018.1
2018-04-10 14:22:48 +02:00
Fedor Isakov
bfe74e3c7c
Bumped up plugin version to 0.4
2018-04-05 12:40:17 +02:00
Fedor Isakov
f730641327
Extract "reporting" solution and interface.
2018-04-04 10:52:14 +02:00
Fedor Isakov
e30c5e268b
Extend typesystem2 lang with "assign type" operation. TypecheckingSessionSolver to be used for reporting the calculated type. Manual migration required.
2018-04-03 15:16:14 +02:00
Fedor Isakov
b052790f8c
Switch to latest conreactor, update Kotlin runtime libs.
2018-03-05 15:31:39 +01:00
Fedor Isakov
bd81dfe749
Bump up the release version to 0.3. Default build number set to 9999.
2018-01-23 11:55:13 +01:00
Fedor Isakov
43a823a2b5
Refactorings in the API. Introducing RuleProcessingSession to facilitate all operations with the rule processing. Consolidating all low-level stuff in runtime solution. Preparing for multiple languages support.
2018-01-05 13:58:24 +01:00
Fedor Isakov
c236981fb6
Correct version number of the plugin (0.2).
2017-12-06 18:10:02 +01:00
Fedor Isakov
d3a4e21ca9
Migrated to MPS2017.3.
2017-12-06 16:36:28 +01:00
Fedor Isakov
8c81df5fae
Automating updates file generation and upload using Travis CI.
2017-12-04 20:40:52 +01:00
Fedor Isakov
114f4b8079
Bumped up version in plugin.xml.
2017-12-04 13:34:57 +01:00
Fedor Isakov
2ba4ee5712
Correct plugin version. Create updatePlugins.xml to provide updates.
2017-11-15 14:11:38 +01:00
Fedor Isakov
3ed8d2e375
Switch to latest release of constraints reactor lib. Update the dependency libs.
2017-10-30 19:51:42 +01: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
e9a35f4fae
Fix module dependencies
2017-10-23 10:23:12 +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
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
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
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
78c7f71e9a
Refactoring the code that launches typechecking to better separate concerns.
...
Extract TypeAspectRuntime.
Support building typechecking program for sequence of nodes.
Moving classes/models around to get rid of cyclic deps.
2017-08-16 15:29:23 +02:00
Fedor Isakov
aac95b2b25
Move typesystem2.helper.plugin to typechecking.plugin. Drop typesystem2.helper solution.
2017-07-28 13:58:37 +02:00
Fedor Isakov
757d869cf3
Rewrite tests without using NodeTestCase's header. Update TypeNodeManager and Typechecker to both be initialized async, add a dispose call for Typechecker.
2017-07-27 15:18:20 +02:00
Fedor Isakov
f2710aa8d6
Fix the trace displaying only the first stage. Simplify types in TypecheckingHelper. Refactor LaunchTypechecking to use CollectTypesStep.
2017-07-27 15:17:20 +02:00
Fedor Isakov
e970b2443a
Extract typechecking-related stuff to a separate solution 'j.m.typechecking'
2017-07-25 10:30:29 +02:00
Fedor Isakov
4665aa5623
Rename 'j.m.typechecking' solution to 'j.m.typechecking.ui'. Contains only the plugin model.
2017-07-24 11:29:59 +02:00
Fedor Isakov
20622554f2
Switch to MPS 172 latest RC build. Fix a couple of parent-invariant violations in the type system, remove obsolete intention.
2017-07-19 16:22:59 +02:00
Fedor Isakov
c8b4fff148
Add dependencies on RxJava and rxjava2-swing.
2017-07-18 11:24:38 +02:00
Fedor Isakov
ab408b0c09
Add explicit mapping of library jar locations to reactor module. Fix the plugin.
2017-06-13 20:31:40 +02:00
Fedor Isakov
dab37c39b1
Update the plugin metadata.
2017-06-13 10:17:38 +02:00
Fedor Isakov
0fd6f65591
Rename "sampleplugin" solution to "typechecking". Move build solution to typechecking folder. Rename the plugin to "typechecking".
2017-06-12 21:55:53 +02:00
Fedor Isakov
33bc06e9cc
Rename solutions "typesystem2.sample.*" to "typechecking.sample.*".
2017-06-12 19:10:29 +02:00
Fedor Isakov
0a615c8490
Rename solution "typesystem2.test" to "typechecking.test".
2017-06-12 19:01:49 +02:00
Fedor Isakov
51263e9b8b
Reorganizing the code, optimize the number of solutions. Delete empty solutions.
2017-06-12 18:55:55 +02:00
Fedor Isakov
663c58d880
Delete empty generators. Fix the import errors.
2017-06-12 16:45:00 +02:00
Fedor Isakov
ee0b98f9db
Rename "sampleLang" to "baseLanguageExt"
2017-06-12 16:32:49 +02:00
Fedor Isakov
f9e9e7956a
Import the sample language to the tests model. Fix the test.
2017-06-12 13:22:41 +02:00
Fedor Isakov
aefaf1a499
Add missing test to the build.xml, ensure the build fails on test failure.
2017-06-09 15:14:28 +02:00
Fedor Isakov
7cbef4cf9d
Download and unpack MPS release as a dependency before the build. The root folder "MPS_HOME" to always point to the MPS installation or contain the MPS itself.
2017-06-09 15:14:28 +02:00