Commit Graph

197 Commits

Author SHA1 Message Date
Fedor Isakov c8812c139e Adopted the unification lib as part of this project. 2016-03-10 12:14:18 +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 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 6cfa569663 Switch to the latest Kotlin RC 1050 2016-02-11 16:49:36 +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 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 caf7ba78f9 Make sure logical instances have unique symbols (a unification lib's requirement) 2016-01-19 12:03:55 +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 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 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 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
Fedor Isakov d1604d317f Hardcoded version in pom.xml everywhere, IDEA project structure auto-updated from pom's 2015-12-17 17:35:09 +01:00
Fedor Isakov ecc640258a Imported unification lib using maven via JitPack.io. Set up build using maven 2015-12-13 17:24:14 +01:00
Fedor Isakov 8f75050b2e Imported unification lib using maven via JitPack.io 2015-12-12 22:50:05 +01:00
Fedor Isakov 1c9ce1f5f5 Basic guards support. 2015-12-10 23:15:51 +01:00
Fedor Isakov d15f6908d5 Initial support for logicals. Small refactoring in tests. 2015-12-10 14:27:03 +01:00
Fedor Isakov fc372c1420 Initial support for expressions 2015-12-09 17:18:42 +01:00
Fedor Isakov a7708f3974 Adapting to the latest reactor API. RuleHandler and tests (no predicates yet). 2015-12-09 00:26:37 +01:00
Fedor Isakov 1ce311a0bf Update kotlin to the latest beta, make all dependencies on kotlin "compile" 2015-12-09 00:25:24 +01:00
Fedor Isakov e07f608b04 Implementing EvaluationSession 2015-12-03 21:55:03 +01:00
Fedor Isakov 50332e1e56 Added dexx library 2015-12-03 21:55:03 +01:00
Fedor Isakov 80b2cd5e4c Planning session implementation. Removed Bridge module 2015-12-03 21:55:03 +01:00
Fedor Isakov db3fc2b069 Updated API sources from the latest version of Logic 2015-12-03 21:55:03 +01:00
Fedor Isakov ff71c6f990 Rules builder using the Kotlin builder pattern 2015-11-22 22:35:54 +01:00
Fedor Isakov 77c827f8cd Started with tests. Switched to kotlin runtime+stdlib from Maven 2015-11-22 18:39:36 +01:00