Commit Graph

544 Commits

Author SHA1 Message Date
Fedor Isakov b3f326995e Update samples: new test, make the code cleaner. 2016-06-24 14:36:24 +02:00
Fedor Isakov 700f37982d Refactoring: extract LogicalOwner interface to the reactor API. 2016-06-24 14:36:23 +02:00
Fedor Isakov 089bf0edcf Better visualization of types (ad hoc for now). 2016-06-24 14:36:23 +02:00
Fedor Isakov 7fb44b7a6b Support for calling instance methods from rule templates 2016-06-24 14:36:23 +02:00
Fedor Isakov b58d6193f7 More tests for the typechecker 2016-06-16 11:52:18 +02:00
Fedor Isakov 98a807349d Changes in the typechecking templates that reflect the preceding refactoring. 2016-06-10 14:28:49 +02:00
Fedor Isakov bc4d3a975e Support for feature getters in type table. 2016-06-10 14:28:48 +02:00
Fedor Isakov 1b5e55f4a6 Migrated to MPS 3.4 EAP2. 2016-06-08 13:46:19 +02:00
Fedor Isakov 16b250fbec Minor optimization in messages highlighting (mostly useless). 2016-06-08 11:36:29 +02:00
Fedor Isakov cf4d2fe47a Typechecking templates: moving the patterns up to the rule's head where applicable. Code cleanup. 2016-06-06 16:53:46 +02:00
Fedor Isakov 9880a6cf82 Implemented the fixed-arity invariant for terms with same symbol. The symbol "node" to have a suffix indicating its arity. 2016-06-06 16:45:23 +02:00
Fedor Isakov 217c79f334 Ensure logical as constraint arguments are consistent with terms. Terms representing (Meta-)Logical to have logicals as symbols. Fix an NPE. 2016-05-29 15:50:37 +02:00
Fedor Isakov 2f69b52350 A feature in typesystem2 language: specify the value for a variable constraint argument. The variable gets assigned the moment constraint is matched against a rule's head. 2016-05-29 15:50:37 +02:00
Fedor Isakov a3d2d81048 New feature: constraint occurrence used as pattern in rule's head has a list of logicals to be bound on successful match. Export unification predicates to be applied. 2016-05-29 15:50:30 +02:00
Fedor Isakov a85baaff55 Refactor constraint and predicate creation into builders 2016-05-24 12:56:06 +02:00
Fedor Isakov 02c201b8f8 Various minor optimizations and code cleanup 2016-05-12 13:10:48 +02:00
Fedor Isakov 8bb7fea288 Fix memory leaks. 2016-05-10 11:25:36 +02:00
Fedor Isakov ad0b92b70a Typechecking templates: remove a dumb hack 2016-05-10 11:25:06 +02:00
Fedor Isakov 6476dcbd68 Another typechecking test. 2016-05-10 11:24:45 +02:00
Fedor Isakov 0810cb25c7 More tests on lists and unification. 2016-04-28 15:39:55 +02:00
Fedor Isakov 135eb0e8f6 Typechecking templates: new constraint "compatibleWith" to support method body checking; better support for integer type (ad hoc for now). 2016-04-26 17:42:27 +02:00
Fedor Isakov bdba374320 Avoid rendering problems of the activation trace because of failed assertion in the editor. Additional action "Make Type With Trace" 2016-04-26 17:41:06 +02:00
Fedor Isakov 21e7808598 Updated unification lib, removed dependency on dexx collection. 2016-04-15 15:53:46 +02:00
Fedor Isakov 86e6237c77 Simple memoization for repetative calculations while appying typechecking templates. 2016-04-15 15:53:45 +02:00
Fedor Isakov 257c405f86 New sample for testing the typechecking. 2016-04-15 15:53:45 +02:00
Fedor Isakov 6229f5ebb4 Process EvaluationFailureException and retry trace event correctly. 2016-04-15 15:53:45 +02:00
Fedor Isakov c2fb02a88e Support body alternation: multiple rule body parts correspond to alternatives (disjuncts). 2016-04-15 15:53:44 +02:00
Fedor Isakov a83be421d6 Typechecking templates: merge all body parts in preparation for "alternation in body" feature. 2016-04-15 15:53:44 +02:00
Fedor Isakov ddb1d668c1 Support for body alternation in the reactor API. 2016-04-11 15:33:29 +02:00
Fedor Isakov 5bcf1ce3d6 Displaying failures as error nodes in the activation trace, navigate to the first failure. Minor fixes. 2016-04-04 16:03:36 +02:00
Fedor Isakov 2c6dbd433e Typechecking templates: introduce new?Bound and assertBounds constraints.
Containment relation delegates bounds checking to assertBounds.
New bounds are introduced via new?Bound constraint: tighter bouds go first.
Abandon the idea of "magically" resolving bounds on variables unification.
2016-04-03 22:27:38 +02:00
Fedor Isakov faafa5b04b Fix sticky occurrences in the store view. Better presentation of the origin. Ensure proper order of sinks to correctly display store events. 2016-03-31 17:40:02 +02:00
Fedor Isakov 7907fad349 Type declarations have references to type concept. Swith to using concept refs instead of conceptNode in the templates. Still relying on the "declaration node" of a concept. 2016-03-31 13:57:58 +02:00
Fedor Isakov 812accabd4 Switched from using conceptNode to concept type in rule templates. 2016-03-30 18:23:33 +02:00
Fedor Isakov 464fdb3ec8 Filter discarded occurrences. 2016-03-30 16:41:20 +02:00
Fedor Isakov cd0b04b68c Refactor the code in activation trace implementation. Cleaner architecture. 2016-03-30 13:54:17 +02:00
Fedor Isakov 8bfac7e77a New feature of the activation trace view: Store view synchronized with the selection in the trace 2016-03-29 18:08:17 +02:00
Fedor Isakov 20c3d72f0e Escape HTML chars in the tooltips (doh!) 2016-03-21 12:39:47 +01:00
Fedor Isakov 4d67bf4796 Automatically updated file after having opened the project with the latest build. 2016-03-18 19:22:26 +01:00
Fedor Isakov 7683ab9318 Minor improvements in the activation tree rendering. 2016-03-18 19:21:47 +01:00
Fedor Isakov 9706f4342a Support trying/reject trace events in the activation trace. Some code cleanup. 2016-03-17 19:06:13 +01:00
Fedor Isakov a934b27442 Drop obsolete methods in EvaluationTrace. Some code cleanup. 2016-03-17 12:12:57 +01:00
Fedor Isakov 6d625ff6c5 Refactoring in the reactor API:
- PredicateFactory, Solver
 - new EvaluationTrace interface,
 - new ask/tell protocol
 - get rid of unwanted dependency between API packages.
Updated memreactor lib.
2016-03-16 16:28:59 +01:00
Fedor Isakov 28bc093ab0 Removed obsolete modules 2016-03-14 15:37:29 +01:00
Fedor Isakov 57bd4d763c Adjust the project module paths 2016-03-14 15:26:35 +01:00
Fedor Isakov 5a54d55345 Tests to launch typechecking on sample roots 2016-03-14 15:21:49 +01:00
Fedor Isakov 295dcc19da Turn the activation trace back on. Fix memory leak in activation tool. 2016-03-11 21:45:58 +01:00
Fedor Isakov 417745fbac Fix the name of the generated JCHR class 2016-03-11 21:45:58 +01:00
Fedor Isakov 12ac59f596 Override toString() in MetaLogical, avoid unnecessary computations in the reactor trying to build symbol identity 2016-03-11 21:45:58 +01:00
Fedor Isakov 45b9c37b94 Update memreactor, unification lib and add dexx collections lib to the "atom" solution. 2016-03-11 21:45:58 +01:00