Commit Graph

  • 9fff72e15d Updated the IDEA project in order to run test typechecking runner. Copied ExpressionSolver to private src directory (WARNING!) Fedor Isakov 2015-12-17 16:27:31 +0100
  • c246846704 Fix the test typechecking runner Fedor Isakov 2015-12-17 16:26:22 +0100
  • 625e2c5c0d LogicalPattern to be used in rule definitions instead of Logical, the latter reserved for the evaluation time. Get rid of logical arrays, replace with multiLogical type and runtime class. Adapt the constraints API to unification API (constraints to be terms). Remove obsolete MITM interfaces. Fedor Isakov 2015-12-17 16:22:52 +0100
  • bf4d41f524 Updated the project structure, renamed build artefacts, current version 1.0.1. Fedor Isakov 2015-12-15 12:08:32 +0100
  • ecc640258a Imported unification lib using maven via JitPack.io. Set up build using maven Fedor Isakov 2015-12-13 17:24:14 +0100
  • 8f75050b2e Imported unification lib using maven via JitPack.io Fedor Isakov 2015-12-12 13:36:37 +0100
  • 94746d4508 Introduce Maven project descriptors Fedor Isakov 2015-12-11 18:02:32 +0100
  • 1c9ce1f5f5 Basic guards support. Fedor Isakov 2015-12-10 23:15:51 +0100
  • df56d1e692 Cleaning up dependencies Fedor Isakov 2015-12-10 18:20:22 +0100
  • 9549745f75 Revert "allow mapper to return StemFunc for case where ground() is called and Alias points to a variable which was already resolved to a StemFunc object" Fedor Isakov 2015-12-10 16:12:28 +0100
  • 0fbc427406 Revert: getting rid of naming conventions. Avoid bad dependencies. Fedor Isakov 2015-12-10 15:22:21 +0100
  • 664121d859 Fix the wrong dependency (reactor -> runtime). Some automagic changes on the latest MPS build. Fedor Isakov 2015-12-10 15:11:47 +0100
  • d15f6908d5 Initial support for logicals. Small refactoring in tests. Fedor Isakov 2015-12-10 12:56:45 +0100
  • fc372c1420 Initial support for expressions Fedor Isakov 2015-12-09 17:04:28 +0100
  • a7708f3974 Adapting to the latest reactor API. RuleHandler and tests (no predicates yet). Fedor Isakov 2015-12-09 00:26:37 +0100
  • 1ce311a0bf Update kotlin to the latest beta, make all dependencies on kotlin "compile" Fedor Isakov 2015-12-07 16:50:24 +0100
  • ab52c177dc allow mapper to return StemFunc for case where ground() is called and Alias points to a variable which was already resolved to a StemFunc object Mihail Buryakov 2015-12-08 19:27:18 +0300
  • 07ae6c7a39 put session deactivation in finally block Mihail Buryakov 2015-12-08 19:24:27 +0300
  • d64325d3fa lightweight solver: fix small bug Mihail Buryakov 2015-12-08 19:23:41 +0300
  • 6fcdd5370e lightweight solver: handle new java constraints Mihail Buryakov 2015-12-08 17:48:08 +0300
  • 12a599a521 merge branch 'lightweightsolver' into 'master' Mihail Buryakov 2015-12-08 11:43:52 +0300
  • 4b5f7212f2 move all on-the-fly stuff to separate module Mihail Buryakov 2015-12-07 17:39:52 +0300
  • dafbf0f03d copy rule before each application attempt to avoid reusing same variables Mihail Buryakov 2015-12-07 16:44:28 +0300
  • 24ce21f980 add some more debug information Mihail Buryakov 2015-12-07 13:04:55 +0300
  • fc49da63d8 Updated API sources from the latest version of Logic Fedor Isakov 2015-12-07 12:13:11 +0100
  • 0ed44e5dee Make evaluation session dependent on the program (planning session) Fedor Isakov 2015-12-07 12:43:38 +0100
  • 586b6fd2e6 Moved JavaPredicate to the reactor API Fedor Isakov 2015-12-07 12:12:08 +0100
  • 0e92e062d4 Support for generating and launching rules using expression solver Fedor Isakov 2015-12-07 11:40:44 +0100
  • 20faf679cc Java expression solver introduced Fedor Isakov 2015-12-07 11:38:39 +0100
  • e38ef803a1 Support for java expressions as calls to extracted static methods Fedor Isakov 2015-12-07 11:37:25 +0100
  • 5c0872b30f enable guards Mihail Buryakov 2015-12-06 15:01:51 +0300
  • 1670f4abdb correctly assing runtime variables Mihail Buryakov 2015-12-06 14:02:02 +0300
  • 7f80dd5261 include built-in solvers Mihail Buryakov 2015-12-06 01:21:41 +0300
  • 4392c15bbd minor highlighter improvements Mihail Buryakov 2015-12-05 22:27:35 +0300
  • 0f514060c7 fix magor algorithmical mistakes Mihail Buryakov 2015-12-05 21:00:10 +0300
  • 1dd9e08caa on-the-fly solver: first attempt Mihail Buryakov 2015-12-05 18:00:03 +0300
  • 3d8ef88bce getting rid of naming conventions Mihail Buryakov 2015-12-05 13:28:48 +0300
  • 8f0be292ef WIP: Switch to solver class for java expression predicates Fedor Isakov 2015-12-04 17:05:18 +0100
  • c20230780a Reify logical type w/o parameters correctly as IAtomLogical Fedor Isakov 2015-12-04 17:04:28 +0100
  • 87b8ebcdbc Switch to using abstract IAtomLogical for interfacing Fedor Isakov 2015-12-04 17:03:35 +0100
  • e07f608b04 Implementing EvaluationSession Fedor Isakov 2015-12-03 21:26:56 +0100
  • 50332e1e56 Added dexx library Fedor Isakov 2015-12-03 12:24:44 +0100
  • 80b2cd5e4c Planning session implementation. Removed Bridge module Fedor Isakov 2015-12-03 12:15:34 +0100
  • db3fc2b069 Updated API sources from the latest version of Logic Fedor Isakov 2015-11-30 00:02:09 +0100
  • 8bc0ddb894 Refactorings and code cleanup in the API. Renamed BuiltinConstraint -> Predicate. SessionSolver to replace Symbols. Decouple Predicate and solverClass. Fedor Isakov 2015-12-03 13:26:51 +0100
  • 24daf3bd56 Better display resulting types as variable names Fedor Isakov 2015-12-03 10:09:48 +0100
  • 4b2f5bf81b Fix Tuple5 (WtF?) Fedor Isakov 2015-11-30 11:50:24 +0100
  • a3fcf64f79 Optimizing imports to avoid unwanted dependencies Fedor Isakov 2015-11-30 11:43:18 +0100
  • 368ff175cf Refactoring out the abstract planning session API Fedor Isakov 2015-11-29 13:15:29 +0100
  • 0aa9e33c28 Typechecking templates: fixing bugs; experimentally treat TypeVarReference as unbound vars Fedor Isakov 2015-11-28 18:18:58 +0100
  • fc65a26fbb Better processing of failures during program evaluation. Fedor Isakov 2015-11-28 18:17:29 +0100
  • fceb7bd0d5 Checking type of rule code block Fedor Isakov 2015-11-27 12:55:02 +0100
  • a974be75af Fixing the tests Fedor Isakov 2015-11-26 20:34:16 +0100
  • 7f20db92a6 Finishing refactoring the constraints API: extracted JCHR launcher Fedor Isakov 2015-11-26 18:22:08 +0100
  • b81b875197 Renamed a model constraint -> predicate to satisfy JCHR Fedor Isakov 2015-11-26 12:13:22 +0100
  • 39f2084528 Added Tuple5 Fedor Isakov 2015-11-26 12:12:01 +0100
  • f50771f07a Refactored the generator to work nicely with node attrs Fedor Isakov 2015-11-26 11:52:39 +0100
  • 78ca0b05fc Refactoring in constraints API. Extracting the abstract evaluation interface Fedor Isakov 2015-11-25 11:07:46 +0100
  • ff71c6f990 Rules builder using the Kotlin builder pattern Fedor Isakov 2015-11-22 22:35:54 +0100
  • 77c827f8cd Started with tests. Switched to kotlin runtime+stdlib from Maven Fedor Isakov 2015-11-22 18:39:36 +0100
  • 9632742625 Imported new sources for the API Fedor Isakov 2015-11-22 15:51:57 +0100
  • 27b28e1732 Refactoring out constraint occurrences. Separating abstract rules processing API. Fedor Isakov 2015-11-22 14:28:36 +0100
  • 8fdbaf7d83 Renames in the reactor API. Get rid of an obsolete concept. Fedor Isakov 2015-11-22 12:38:42 +0100
  • c1d776dc3c Fix the rule template's let parameter scope Fedor Isakov 2015-11-21 16:05:33 +0100
  • 4ebe3c9cbf Refactoring in logic lang rutime: moved the rules api to the reactor. Fedor Isakov 2015-11-21 16:05:01 +0100
  • 0d88f5da4b Auto-magical update after moving to the latest build Fedor Isakov 2015-11-21 16:04:14 +0100
  • 52c4df14ae Initial import. Kotlin libs 1.0 Beta 1103. Imported abstract constraints API from the Logic project Fedor Isakov 2015-11-20 14:55:48 +0100
  • 6ee2899266 Refactor out the abstract part of the constraints API to reactor, move the parts dependent on Atom and JCHR back into logic runtime Fedor Isakov 2015-11-20 14:46:03 +0100
  • af92fe309e Refactor abstract part of the constraint solver to a separate solution Fedor Isakov 2015-11-20 11:13:35 +0100
  • dd7483dbc9 Moved the rest of local logical declarations to the template clause's head Fedor Isakov 2015-11-19 19:16:36 +0100
  • c1599e492b Fixing model check errors Fedor Isakov 2015-11-19 19:15:44 +0100
  • e33640a55e Typechecking templates: getting rid of redundant templates, simplifying the code further Fedor Isakov 2015-11-19 16:36:16 +0100
  • 1640355c34 Typechecking templates: replaced two utility methods with one accepting more parameters Fedor Isakov 2015-11-18 19:44:29 +0100
  • 3a8a397299 Typechecking templates: simplifying the code, trying to unify the ways type variables are processed Fedor Isakov 2015-11-18 15:52:09 +0100
  • 581131cd9f Refactoring foreach loops to for loops with index Fedor Isakov 2015-11-18 13:42:04 +0100
  • 37a7e1c0e2 Drop the logical variable index starting from 1 instead of 0. Now they are treated exactly like Java arrays Fedor Isakov 2015-11-18 13:22:44 +0100
  • 7bcd088a44 Typechecking templates: minor refactorings, simplifying the code Fedor Isakov 2015-11-18 12:42:50 +0100
  • f38b7e39a2 Typechecking templates: add capture/2 constraint to avoid variables to appear out of inference context. Introduce wildcardType Fedor Isakov 2015-11-17 16:08:12 +0100
  • f35f655199 NodePrinter to support array and boolean types Fedor Isakov 2015-11-16 15:57:19 +0100
  • c6f8a43795 Enable typechecking of method body. Coerce to reference type for the ClassifierType constructor. Support for boolean and array type. Fedor Isakov 2015-11-15 19:56:39 +0100
  • 8fabaa7b1e Auto-magical update after moving to the latest build Fedor Isakov 2015-11-12 15:14:34 +0100
  • 8533c77448 Better printing of types to match the expected type representation Fedor Isakov 2015-11-12 11:58:12 +0100
  • ff95a22ef3 Better constraints printing in external runner Fedor Isakov 2015-11-12 11:42:26 +0100
  • 879e3dc2df Fix the atom ground() util method Fedor Isakov 2015-11-12 11:36:40 +0100
  • af48893e4c Change the contract of logical vars's equals() to never consider the value (only the root). Update the tests. Fedor Isakov 2015-11-11 18:23:09 +0100
  • 06b1de52f9 Get rid of check() constraint, switched to using headless rules to be combined in main() Fedor Isakov 2015-11-11 17:08:32 +0100
  • 2166c14df3 Introduce per-rule NamingContext for logical variables. Support for launching constraint handler via main() constraint. Minor fixes. Fedor Isakov 2015-11-11 17:07:15 +0100
  • 0b239153ff Array type constructor, temporarily supporting the main() constraint with => true body Fedor Isakov 2015-11-10 17:25:25 +0100
  • 320e650dd5 Support for headless rules: all are collected into "main" rule with head=main() Fedor Isakov 2015-11-10 17:15:32 +0100
  • 3779dbed2b Better logging of result/garbage constraints Fedor Isakov 2015-11-10 11:16:40 +0100
  • 163f434bf5 Unique variable names and type bounds Fedor Isakov 2015-11-10 10:55:14 +0100
  • 5a965f549e Fix the logicals equality: unbound logicals are never equal Fedor Isakov 2015-11-10 10:46:52 +0100
  • 83c94857ff Subtyping paths to be searched for any type. Can successfully compute LUB(String,NullType) = Object Fedor Isakov 2015-11-09 17:01:27 +0100
  • e1a961e261 Use the standard method for getting the extended classifier types Fedor Isakov 2015-11-04 12:03:27 +0100
  • 105d9d7024 Simplifying templates: get rid of O(n^2) subtyping Fedor Isakov 2015-11-04 11:46:03 +0100
  • bc5cfb182e Fix subtyping algorithm Fedor Isakov 2015-11-04 09:39:07 +0100
  • 42705efbd4 LubSolver and SubtypePathSolver to fail with an exception. Reverse the subtyping path. Fedor Isakov 2015-11-04 09:38:01 +0100
  • e62fbb49b9 Fix the anchor for ClassifierType to include parameters Fedor Isakov 2015-11-04 09:35:26 +0100
  • ca226ac725 Testing induction on list role Fedor Isakov 2015-11-03 19:04:41 +0100
  • 695e94e9cc Fix the type variable names not displayed Fedor Isakov 2015-11-03 16:04:13 +0100