diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Instructible.java b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Instructible.java
index 3e2bb04a..e150bb69 100644
--- a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Instructible.java
+++ b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Instructible.java
@@ -5,6 +5,6 @@ package jetbrains.mps.logic.reactor.constraint;
public interface Instructible {
- public void tell(Symbol symbol, Object... arg);
+ public void tell(Symbol symbol, Object... args);
}
diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicate.java b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicate.java
new file mode 100644
index 00000000..1043d0d6
--- /dev/null
+++ b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicate.java
@@ -0,0 +1,24 @@
+package jetbrains.mps.logic.reactor.constraint;
+
+/*Generated by MPS */
+
+
+public class JavaPredicate extends AbstractPredicate {
+
+ private JavaPredicateSymbol symbol;
+
+ public JavaPredicate(JavaPredicateSymbol predicateSymbol, String id, Object... args) {
+ super(args);
+ this.id = id;
+ this.symbol = predicateSymbol;
+ }
+
+ public String id() {
+ return id;
+ }
+
+ public PredicateSymbol symbol() {
+ return symbol;
+ }
+ private String id;
+}
diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicateSymbol.java b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicateSymbol.java
index d972ff62..6edd15a5 100644
--- a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicateSymbol.java
+++ b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/JavaPredicateSymbol.java
@@ -5,12 +5,18 @@ package jetbrains.mps.logic.reactor.constraint;
public class JavaPredicateSymbol extends PredicateSymbol {
- public JavaPredicateSymbol(String expression, int arity) {
- super(expression, arity);
+ public static final JavaPredicateSymbol EXPRESSION0 = new JavaPredicateSymbol(1);
+
+ public static final JavaPredicateSymbol EXPRESSION1 = new JavaPredicateSymbol(2);
+
+ public static final JavaPredicateSymbol EXPRESSION2 = new JavaPredicateSymbol(3);
+
+ public static final JavaPredicateSymbol EXPRESSION3 = new JavaPredicateSymbol(4);
+
+ private static final String EXPRESSION = "expression";
+
+ public JavaPredicateSymbol(int arity) {
+ super(EXPRESSION, arity);
}
- @Override
- public String toString() {
- return "J:" + id() + "/" + arity();
- }
}
diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Queryable.java b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Queryable.java
index 456a23a4..3242b9f5 100644
--- a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Queryable.java
+++ b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/Queryable.java
@@ -5,6 +5,6 @@ package jetbrains.mps.logic.reactor.constraint;
public interface Queryable extends Instructible {
- public boolean ask(PredicateSymbol predicateSymbol, Object... arg);
+ public boolean ask(PredicateSymbol predicateSymbol, Object... args);
}
diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/trace.info b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/trace.info
index f56bf2c6..58ee54ff 100644
--- a/reactor/API/src/jetbrains/mps/logic/reactor/constraint/trace.info
+++ b/reactor/API/src/jetbrains/mps/logic/reactor/constraint/trace.info
@@ -9,6 +9,7 @@
+
@@ -34,9 +35,9 @@
-
+
-
+
@@ -111,7 +112,7 @@
-
+
@@ -136,18 +137,18 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
+
@@ -195,11 +196,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -209,7 +235,7 @@
-
+
@@ -229,7 +255,7 @@
-
+
diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/program/EvaluationSession.java b/reactor/API/src/jetbrains/mps/logic/reactor/program/EvaluationSession.java
index 78f16968..b1995a40 100644
--- a/reactor/API/src/jetbrains/mps/logic/reactor/program/EvaluationSession.java
+++ b/reactor/API/src/jetbrains/mps/logic/reactor/program/EvaluationSession.java
@@ -20,11 +20,11 @@ public abstract class EvaluationSession {
return ourBackend.current();
}
- public static EvaluationSession.Config newSession() {
+ public static EvaluationSession.Config newSession(PlanningSession program) {
if (ourBackend == null) {
throw new IllegalStateException("no backend");
}
- return ourBackend.createConfig();
+ return ourBackend.createConfig(program);
}
public static abstract class Config {
@@ -64,7 +64,7 @@ public abstract class EvaluationSession {
public EvaluationSession current();
- public EvaluationSession.Config createConfig();
+ public EvaluationSession.Config createConfig(PlanningSession program);
}
diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/program/PlanningSession.java b/reactor/API/src/jetbrains/mps/logic/reactor/program/PlanningSession.java
index c3a39d78..a5f40f01 100644
--- a/reactor/API/src/jetbrains/mps/logic/reactor/program/PlanningSession.java
+++ b/reactor/API/src/jetbrains/mps/logic/reactor/program/PlanningSession.java
@@ -22,6 +22,8 @@ public abstract class PlanningSession {
public abstract String name();
+ public abstract SessionSolver sessionSolver();
+
public abstract Iterable constraintSymbols();
public abstract List> constraintArgumentTypes(ConstraintSymbol constraintSymbol);
diff --git a/reactor/API/src/jetbrains/mps/logic/reactor/program/trace.info b/reactor/API/src/jetbrains/mps/logic/reactor/program/trace.info
index 486969c6..618f1ace 100644
--- a/reactor/API/src/jetbrains/mps/logic/reactor/program/trace.info
+++ b/reactor/API/src/jetbrains/mps/logic/reactor/program/trace.info
@@ -12,63 +12,65 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
-
+
+
@@ -76,7 +78,7 @@
-
+
@@ -90,14 +92,14 @@
-
+
-
+
-
+
@@ -122,13 +124,17 @@
-
+
+
+
-
+
-
+
+
+