Commit Graph

112 Commits

Author SHA1 Message Date
Fedor Isakov 671194c9c3 Switch to the latest EAP of MPS 2019.1. Re-save all models. 2019-03-22 11:09:39 +01:00
Fedor Isakov adcfba5e9a Introduce two built-in predicates to be used instead of eval(false) etc.: fail and report message (debug/info/warning/error/fatal). 2019-02-18 11:49:11 +01:00
Fedor Isakov b102237bb8 Drop static collection of predicate symbols. Adapt to the latest reactor API. Drop DefaultSessionSolver 2019-02-17 11:39:56 +01:00
Fedor Isakov a97c33a256 Collect all solvers when building a program. These to replace "solver registration" procedure. 2019-02-15 17:47:06 +01:00
Fedor Isakov 9f8539bfd8 Drop unused and long deprecated feature. 2019-02-15 17:46:10 +01:00
Fedor Isakov 5f068c1ac0 Extract stuff related to program producing to separate model. 2019-02-15 17:15:17 +01:00
Fedor Isakov 255b7061f7 Reorganize models/packages, restructure code components responsible for program building/evaluation. 2019-02-15 17:15:17 +01:00
Fedor Isakov 2f8ff698b3 Minor refactorings in program producing code. Consolidating everything related to program producing into a single package. 2019-02-15 17:15:16 +01:00
Fedor Isakov 83e5ce8c26 Switch to the latest conreactor version. 2019-02-15 17:15:16 +01:00
Fedor Isakov a240246daa Ensure failures don't stop program evaluation, recover failure always at top level (when processing "main/0" constraint).
Keep track of principal origins to be used as points of failure.
Minor code cleanup/refactoring.
2019-02-06 12:57:47 +01:00
Fedor Isakov 49a381936d Enable to specify custom matching strategy when asserting that locally inferred types are the same. 2019-02-02 16:09:39 +01:00
Fedor Isakov 5b255f2a02 Fix references and introduce languages engaged on generation to keep compat. w/191 EAP. 2019-02-01 11:31:35 +01:00
Fedor Isakov 92faa816f8 Drop superfluous log statements. 2019-01-31 23:47:11 +01:00
Fedor Isakov 24ac5447b3 Make ErrorAnnotation able to suppress errors. 2019-01-31 11:44:07 +01:00
Fedor Isakov 9243c00c65 Fix issues found by model checker (ex typesystem). 2019-01-31 11:30:02 +01:00
Fedor Isakov dc1965fdc9 Introduce a test for running model checker on all models in the project as a part of CI. 2019-01-31 11:30:02 +01:00
Fedor Isakov 52348b2b38 Make comment look nicer with standard C-style representation.
Make Handler, MacroTable and their contents commentable.
2019-01-27 23:33:02 +01:00
Fedor Isakov 613e895d17 Fix constraint rules editor to display "activate" section always.
Constraint rule to be entered with "on" keyword.
2019-01-27 22:56:07 +01:00
Fedor Isakov 551a015ada Fix unification predicate not doing occurrs check on tell. 2019-01-26 13:52:10 +01:00
Fedor Isakov 934f98b717 Fix UnificationPredicate to delegate logical union logic to the underlying implementation.
Test unification failure on cycle detected.
2019-01-25 15:02:03 +01:00
Fedor Isakov e2ea78ef9e Improve layout of constraints and dataforms. Get rid of unnecessary anchors and hacks. 2019-01-21 11:20:30 +01:00
Fedor Isakov 27681ef80c Switch substitution to work using equals predicate instead of equals() java method. Testing substitution on tricky cases. 2019-01-15 20:09:16 +01:00
Fedor Isakov 0b9fc55817 Make equals predicate respect trivial bindings: [X -> Y] where X is unified with Y. Tests. 2019-01-15 19:04:07 +01:00
Fedor Isakov 161f00355d Fix equals predicate: make it conform to general contract of unification without additional bindings. Testing ask/tell eq. 2019-01-14 12:25:27 +01:00
Fedor Isakov 6aa965c96c Ignore commented out nodes while applying templates. Use node pointer to report locations of failed tests. 2019-01-13 15:14:14 +01:00
Fedor Isakov 197f09fb2b Apply automatic migrations in the root project 2019-01-13 14:27:43 +01:00
Fedor Isakov 50487cd41c Fix unification predicate implementation to properly process non-term arguments. Cleanup the code. 2019-01-13 14:26:35 +01:00
Fedor Isakov 29a44eac5d Introduce automatic migration from eq to uni for basic scenario: logical on the left 2019-01-13 14:26:35 +01:00
Fedor Isakov a46937b128 Change semantics of EqualsPredicate: ask returns true iff values are equal or the logicals are the same, tell throws exception if not 2019-01-13 14:26:35 +01:00
Fedor Isakov 16153a23d1 Correctly display value assigned to a logical. 2019-01-09 13:01:57 +01:00
Fedor Isakov bcb8efa653 Make editor for DataForm more usable, get rid of hacks in the layout. Introduce NewLineAttribute to manually insert new lines. Deprecate ListRole. 2019-01-09 13:01:37 +01:00
Fedor Isakov cc4b335286 Introduce checking for instances of RuntimeErrorType during tests. Refactor test typechecking launcher. 2019-01-04 17:47:44 +01:00
Fedor Isakov c5daa24ee8 Deprecate ListLiteral and ListExpression concepts (only used in BL typesystem) 2019-01-04 17:44:32 +01:00
Fedor Isakov d74ad951e3 Drop a hack in ListNode implementation that would disallow nested lists 2019-01-04 17:43:37 +01:00
Fedor Isakov 63da3a7a6c Minor optimization of terms representation in UI: hide uninitialized values 2019-01-03 17:16:47 +01:00
Fedor Isakov d5ed9d8fa0 Eliminate duplicate language aspect objects from lookup 2019-01-02 18:16:28 +01:00
Fedor Isakov c87ca87a49 Cleanup in tests 2018-12-30 16:41:28 +01:00
Fedor Isakov b4693aac3c Switch to the new conreactor version. 2018-12-28 11:57:27 +01:00
Fedor Isakov cb1ea46af7 Typechecking templates: specify data types for logicals that are used for values instead of term. 2018-12-28 11:57:26 +01:00
Fedor Isakov d74ec1d2f8 Introduce support for unification variables of arbitrary type, not just terms. Minor refactoring and cleanup. 2018-12-28 11:56:27 +01:00
Fedor Isakov 82b409cb86 Fix SubstituteUtil to match pattern using equals() instead of unification. Tests for SubstituteUtil. 2018-12-14 13:35:36 +01:00
Fedor Isakov c22520fcc8 Fix EQ solver returning wrong value for two distinct free logicals. Testing EQ and UNI solvers on free logicals. 2018-12-13 18:24:53 +01:00
Fedor Isakov 3e38d4aedd Record a warning on local type inference yielding mismatched type in case ensureLocal flag is set to false. 2018-11-29 12:47:34 +01:00
Fedor Isakov f0bb068750 Fix instances of removed concepts and broken API calls after migration to 2018.3. Rebuild project. 2018-11-28 16:48:59 +01:00
Fedor Isakov 19ce84f7ef Switch to 2018.3 RC. Apply all migrations. 2018-11-28 16:48:59 +01:00
Fedor Isakov f095c64abe Rename 'isBound' predicate to 'isAssigned' (alias only, concept to be renamed still). 2018-11-27 15:10:48 +01:00
Fedor Isakov 8bc26f6cdd Shorten the presentation of user terms in actiovation trace view. Filter out wildcards and empty lists. 2018-11-27 15:10:48 +01:00
Fedor Isakov 939262b4a5 Fix memleak by unregistering mouse listeners on treetable component dispose. 2018-11-27 15:10:14 +01:00
Fedor Isakov 9c4dad3e91 Enable use of input node in macro body. Allow specifying a subset of macro parameters in macro call. 2018-11-20 22:39:30 +01:00
Fedor Isakov bfcf89e3df Use stack to implement storage of template application session objects 2018-11-20 22:39:30 +01:00