@@ -57,7 +57,8 @@ Solver newSolver(map[str,Tree] namedTrees, TModel tm){
5757 //bool logTime = tm.config.logTime;
5858
5959 //int solverStarted = cpuTime();
60-
60+ // println("newSolver: <size(tm.facts)> facts"); iprintln(tm.facts, lineLimit=10000); iprintln(tm.specializedFacts);
61+ // println("newSolver: <size(tm.calculators)> calculators"); iprintln(tm.calculators, lineLimit=10000);
6162 str (str ) normalizeName = defaultNormalizeName ;
6263 bool (AType ,AType ) isSubTypeFun = defaultIsSubType ;
6364
@@ -293,17 +294,20 @@ Solver newSolver(map[str,Tree] namedTrees, TModel tm){
293294 void solvedCalc (Calculator calc ){
294295 calculators -= calc ;
295296 calculatorJobs -= calc ;
297+ // println("solvedCalc: <calc>"); iprintln(facts);iprintln(specializedFacts);
296298 }
297299
298300 void solvedReq (Requirement req ){
299301 requirements -= req ;
300302 requirementJobs -= req ;
303+ // println("solvedReq: <req>"); iprintln(facts);iprintln(specializedFacts);
301304 }
302305
303306 // ---- Add a fact --------------------------------------------------------
304307
305308 bool addFact (loc l , AType atype ){
306309 iatype = instantiate (atype );
310+ if (l in facts ) specializedFacts [l ] = iatype ; else facts [l ] = iatype ;
307311 facts [l ] = iatype ;
308312 fireTrigger (l );
309313 return true ;
@@ -1390,6 +1394,7 @@ Solver newSolver(map[str,Tree] namedTrees, TModel tm){
13901394 try {
13911395 clearActiveTriggers ();
13921396 evalOrScheduleCalc (calc );
1397+ // println("calc <calc>:"); iprintln(facts);
13931398 } catch checkFailed (list [FailMessage ] fms ): {
13941399 failMessages += fms ;
13951400 }
@@ -1401,6 +1406,7 @@ Solver newSolver(map[str,Tree] namedTrees, TModel tm){
14011406 try {
14021407 clearActiveTriggers (); // ? needed
14031408 evalOrScheduleReq (req );
1409+ // println("req <req>:"); iprintln(facts);
14041410 } catch checkFailed (list [FailMessage ] fms ): {
14051411 failMessages += fms ;
14061412 }
@@ -1419,7 +1425,7 @@ Solver newSolver(map[str,Tree] namedTrees, TModel tm){
14191425
14201426 solve (nreferPaths , ncalculators , nrequirements , nfacts , nopenUses ){
14211427 iterations += 1 ;
1422-
1428+ // println("solve #<iterations>, ncalc=<ncalculators>, nreq=<nrequirements>, nfacts=<nfacts>"); iprintln(facts, lineLimit=10000);
14231429 // ---- referPaths
14241430
14251431 resolvePaths ();
0 commit comments