Commit Graph

412 Commits

Author SHA1 Message Date
Mihail Buryakov 6fcdd5370e lightweight solver: handle new java constraints 2015-12-08 17:48:08 +03:00
Mihail Buryakov 12a599a521 merge branch 'lightweightsolver' into 'master'
Conflicts:
	languages/jetbrains.mps.lang.typesystem2/sandbox/jetbrains.mps.lang.typesystem2.sampleplugin/models/jetbrains/mps/lang/typesystem2/sampleplugin/plugin.mps
	languages/jetbrains.mps.logic/jchr/jetbrains.mps.logic.jchr.msd
	languages/jetbrains.mps.logic/reactor/models/jetbrains/mps/logic/reactor/constraint.mps
2015-12-08 12:00:11 +03:00
Mihail Buryakov 4b5f7212f2 move all on-the-fly stuff to separate module 2015-12-07 17:40:19 +03:00
Mihail Buryakov dafbf0f03d copy rule before each application attempt to avoid reusing same variables 2015-12-07 16:44:28 +03:00
Mihail Buryakov 24ce21f980 add some more debug information 2015-12-07 16:42:34 +03:00
Fedor Isakov 0ed44e5dee Make evaluation session dependent on the program (planning session) 2015-12-07 12:43:38 +01:00
Fedor Isakov 586b6fd2e6 Moved JavaPredicate to the reactor API 2015-12-07 12:12:08 +01:00
Fedor Isakov 0e92e062d4 Support for generating and launching rules using expression solver 2015-12-07 11:40:44 +01:00
Fedor Isakov 20faf679cc Java expression solver introduced 2015-12-07 11:38:39 +01:00
Fedor Isakov e38ef803a1 Support for java expressions as calls to extracted static methods 2015-12-07 11:37:25 +01:00
Mihail Buryakov 5c0872b30f enable guards 2015-12-06 15:01:51 +03:00
Mihail Buryakov 1670f4abdb correctly assing runtime variables 2015-12-06 14:02:02 +03:00
Mihail Buryakov 7f80dd5261 include built-in solvers 2015-12-06 01:21:41 +03:00
Mihail Buryakov 4392c15bbd minor highlighter improvements 2015-12-05 22:27:35 +03:00
Mihail Buryakov 0f514060c7 fix magor algorithmical mistakes 2015-12-05 21:00:51 +03:00
Mihail Buryakov 1dd9e08caa on-the-fly solver: first attempt 2015-12-05 18:00:03 +03:00
Mihail Buryakov 3d8ef88bce getting rid of naming conventions 2015-12-05 13:28:48 +03:00
Fedor Isakov 8f0be292ef WIP: Switch to solver class for java expression predicates 2015-12-04 17:05:18 +01:00
Fedor Isakov c20230780a Reify logical type w/o parameters correctly as IAtomLogical 2015-12-04 17:04:28 +01:00
Fedor Isakov 87b8ebcdbc Switch to using abstract IAtomLogical for interfacing 2015-12-04 17:03:35 +01:00
Fedor Isakov 8bc0ddb894 Refactorings and code cleanup in the API. Renamed BuiltinConstraint -> Predicate. SessionSolver to replace Symbols. Decouple Predicate and solverClass. 2015-12-03 19:50:27 +01:00
Fedor Isakov 24daf3bd56 Better display resulting types as variable names 2015-12-03 10:09:48 +01:00
Fedor Isakov 4b2f5bf81b Fix Tuple5 (WtF?) 2015-11-30 11:50:47 +01:00
Fedor Isakov a3fcf64f79 Optimizing imports to avoid unwanted dependencies 2015-11-30 11:43:18 +01:00
Fedor Isakov 368ff175cf Refactoring out the abstract planning session API 2015-11-29 13:15:29 +01:00
Fedor Isakov 0aa9e33c28 Typechecking templates: fixing bugs; experimentally treat TypeVarReference as unbound vars 2015-11-28 18:48:40 +01:00
Fedor Isakov fc65a26fbb Better processing of failures during program evaluation. 2015-11-28 18:48:40 +01:00
Fedor Isakov fceb7bd0d5 Checking type of rule code block 2015-11-28 18:48:39 +01:00
Fedor Isakov a974be75af Fixing the tests 2015-11-28 18:48:39 +01:00
Fedor Isakov 7f20db92a6 Finishing refactoring the constraints API: extracted JCHR launcher 2015-11-28 18:48:17 +01:00
Fedor Isakov b81b875197 Renamed a model constraint -> predicate to satisfy JCHR 2015-11-28 18:47:00 +01:00
Fedor Isakov 39f2084528 Added Tuple5 2015-11-28 18:47:00 +01:00
Fedor Isakov f50771f07a Refactored the generator to work nicely with node attrs 2015-11-28 18:47:00 +01:00
Fedor Isakov 78ca0b05fc Refactoring in constraints API. Extracting the abstract evaluation interface 2015-11-28 18:45:42 +01:00
Fedor Isakov 27b28e1732 Refactoring out constraint occurrences. Separating abstract rules processing API. 2015-11-22 15:36:10 +01:00
Fedor Isakov 8fdbaf7d83 Renames in the reactor API. Get rid of an obsolete concept. 2015-11-22 13:26:45 +01:00
Fedor Isakov c1d776dc3c Fix the rule template's let parameter scope 2015-11-21 16:05:33 +01:00
Fedor Isakov 4ebe3c9cbf Refactoring in logic lang rutime: moved the rules api to the reactor. 2015-11-21 16:05:01 +01:00
Fedor Isakov 0d88f5da4b Auto-magical update after moving to the latest build 2015-11-21 16:04:14 +01:00
Fedor Isakov 6ee2899266 Refactor out the abstract part of the constraints API to reactor, move the parts dependent on Atom and JCHR back into logic runtime 2015-11-20 14:46:03 +01:00
Fedor Isakov af92fe309e Refactor abstract part of the constraint solver to a separate solution 2015-11-20 11:28:09 +01:00
Fedor Isakov dd7483dbc9 Moved the rest of local logical declarations to the template clause's head 2015-11-19 19:16:36 +01:00
Fedor Isakov c1599e492b Fixing model check errors 2015-11-19 19:15:44 +01:00
Fedor Isakov e33640a55e Typechecking templates: getting rid of redundant templates, simplifying the code further 2015-11-19 16:36:16 +01:00
Fedor Isakov 1640355c34 Typechecking templates: replaced two utility methods with one accepting more parameters 2015-11-18 19:44:29 +01:00
Fedor Isakov 3a8a397299 Typechecking templates: simplifying the code, trying to unify the ways type variables are processed 2015-11-18 15:52:09 +01:00
Fedor Isakov 581131cd9f Refactoring foreach loops to for loops with index 2015-11-18 13:42:04 +01:00
Fedor Isakov 37a7e1c0e2 Drop the logical variable index starting from 1 instead of 0. Now they are treated exactly like Java arrays 2015-11-18 13:22:44 +01:00
Fedor Isakov 7bcd088a44 Typechecking templates: minor refactorings, simplifying the code 2015-11-18 12:42:50 +01:00
Fedor Isakov f38b7e39a2 Typechecking templates: add capture/2 constraint to avoid variables to appear out of inference context. Introduce wildcardType 2015-11-17 16:08:12 +01:00