Commit Graph

94 Commits

Author SHA1 Message Date
Fedor Isakov d7c0060724 Make PropagationHistory persistent (functional). 2016-04-06 16:53:29 +02:00
Fedor Isakov a1a17426b7 Extract PropagationHistory. Code refactoring and cleanup in preparation to switching to persistent OccurrenceStore and Handler. 2016-04-06 13:23:04 +02:00
Fedor Isakov 15630b1582 Integrate changes in the API: EvaluationTrace. Updated the Handler to reflect the changes. 2016-03-17 13:45:50 +01:00
Fedor Isakov 8c103ddbd1 Integrate changes in the API imported from the Logic project. Change the code accordingly. 2016-03-16 16:26:25 +01:00
Fedor Isakov 1b9e919345 Optimizing hasData/getData, avoid calling String.intern() too often. Some API documentation. 2016-03-10 16:07:42 +01:00
Fedor Isakov c8812c139e Adopted the unification lib as part of this project. 2016-03-10 12:14:18 +01:00
Fedor Isakov 851dd6fe69 Imported mps-unification project.
Merge remote-tracking branch 'unification/master'
2016-03-09 16:58:45 +01:00
Fedor Isakov 4b1db276bc Switch to persistent set of IdWrapper. Minor adjustments in the profiling setup. 2016-03-09 16:03:53 +01:00
Fedor Isakov 6089f8c5ff Optimize selection of rules to try based on the values in the constraint arguments 2016-03-09 15:14:51 +01:00
Fedor Isakov 64591e113b Attempting optimizations in the matcher. Minor refactorings. 2016-03-08 11:40:31 +01:00
Fedor Isakov ec6ce31cc2 Propagation history feature, tests. Minor refactorings. 2016-03-07 15:23:57 +01:00
Fedor Isakov 63bb7f578d Ensure the null value is never exposed when merging variable (ground-free) 2016-03-03 16:42:09 +01:00
Fedor Isakov 701a434d69 Reactivate occurrences on union of var arguments. Tests. 2016-03-03 12:58:53 +01:00
Fedor Isakov 286fa4c5e6 Clean profiler data at the end of session run 2016-02-24 14:55:15 +01:00
Fedor Isakov 6cfa569663 Switch to the latest Kotlin RC 1050 2016-02-11 16:49:36 +01:00
Fedor Isakov d38373fc79 No more dumping of activation stack on an error 2016-02-11 16:33:35 +01:00
Fedor Isakov 619337151f Updated API sources from the latest version of Logic. Adapted to the new API. LogicalPattern -> MetaLogical. Renamed all *pattern entities. RuleBuilder for tests. 2016-01-29 14:41:57 +01:00
Fedor Isakov fb65c965c4 Switch to Kotlin 1.0.0 RC 2016-01-25 23:17:59 +01:00
Fedor Isakov 322485c046 Index occurrences by value.
Lookup of occurrences in the store is forced to match value OR logical (probably need both).
2016-01-25 18:00:18 +01:00
Fedor Isakov c557bbab97 Force occurrences matching with free logicals to fail if no occurrences with those logicals.
Fix occurrence store to always take the representative of a logical.
2016-01-25 14:17:38 +01:00
Fedor Isakov ed76bdae73 Optimizing looking up constraint occurrences to complete a match.
Parent observer for logicals, maintaining the logical-to-occurrence index in occurrence store.
Some code refactoring.
2016-01-24 20:45:46 +01:00
Fedor Isakov b8aa435eb4 Introduced Profiler to track bottlenecks. Some obvious optimizations. Refactoring for cleaner code. 2016-01-21 11:44:52 +01:00
Fedor Isakov 1dd3294483 Updated the unification lib to 1.0.2 2016-01-19 12:58:39 +01:00
Fedor Isakov a06502a684 Bumped up the package version to 1.0.2 2016-01-19 12:49:57 +01:00
Fedor Isakov d900284df2 Allow recursive references. Testing var-to-var unification. 2016-01-19 12:05:14 +01:00
Fedor Isakov caf7ba78f9 Make sure logical instances have unique symbols (a unification lib's requirement) 2016-01-19 12:03:55 +01:00
Fedor Isakov 945f1c12f5 Fix logical pattern to logical mapping. Various small fixes. 2016-01-13 23:21:16 +01:00
Fedor Isakov 3cf3f4b21d Updated API sources from the latest version of Logic. Adapted to the new API. Invocation/occurrence arguments. 2016-01-13 23:09:53 +01:00
Fedor Isakov bedb9592a0 Updated API sources from the latest version of Logic. Adapted to the new API. Activation stack. 2016-01-11 16:07:52 +01:00
Fedor Isakov e97b854f4c Updated API sources from the latest version of Logic. Adapted to the new API. 2016-01-09 02:14:10 +01:00
Fedor Isakov 057c4d7c69 Logical value observers. Testing reactivation of constraint occurrences. 2016-01-08 15:11:09 +01:00
Fedor Isakov b90bdc84c4 MemLogicalPattern. Switch to using MemLogical in tests. 2016-01-07 12:56:13 +01:00
Fedor Isakov 8aa6b04c70 Extract away program builder-related stuff: this part is going to be provided by the reactor's client 2016-01-07 12:07:55 +01:00
Fedor Isakov c3bfcc9311 Updated API sources from the latest version of Logic. Adapted to the new API. 2016-01-06 20:30:54 +01:00
Fedor Isakov 2dfe0db180 Ensure evaluation session is cleared on exit 2016-01-05 12:44:00 +01:00
Fedor Isakov 406c8c3af1 Updated the maven artifacts packaging 2015-12-28 10:35:40 +01:00
Fedor Isakov 2f38824ed5 Updated API sources from the latest version of Logic. Adapted to the new API. 2015-12-27 23:42:58 +01:00
Fedor Isakov 4710c85124 Testing the primes generating program. 2015-12-27 00:51:39 +01:00
Fedor Isakov b80da31c1b Testing and fixing the handler semantics. Drop matches with occurrences that are no longer alive. 2015-12-27 00:18:26 +01:00
Fedor Isakov bc7f266997 A test of gcd program. 2015-12-25 13:31:59 +01:00
Fedor Isakov c64bbfb240 Removed superfluous libs 2015-12-25 13:30:56 +01:00
Fedor Isakov 20948a859c First real program working 2015-12-25 10:32:05 +01:00
Fedor Isakov 49ebcab10d Testing EvaluationSession and SessionSolver 2015-12-24 19:15:40 +01:00
Fedor Isakov a58af2c921 Upgraded to the latest Kotlin beta 2015-12-23 16:43:37 +01:00
Fedor Isakov a3346ae57f Adapting to changes in the API. Implemented LogicalContext. Generifying code in tests. Testing LogicalPattern. 2015-12-23 16:26:35 +01:00
Fedor Isakov 53d7398e14 Updated API sources from the latest version of Logic 2015-12-23 16:24:29 +01:00
Fedor Isakov 51bcebfc01 Small refactorings and code cleanup in tests 2015-12-22 18:42:06 +01:00
Fedor Isakov c04ecab6d0 Switched to using LogicalContext for the rule matching, tests 2015-12-22 11:08:00 +01:00
Fedor Isakov 8de8f09325 Updated API sources from the latest version of Logic 2015-12-21 20:27:59 +01:00
Fedor Isakov 03787eb8fe Implemented rule matcher using unification lib.
Refactor the code into handler and matcher.
Tests separation and cleanup.
2015-12-18 22:28:36 +01:00