Differences From Artifact [969111acf2042a22]:
- File
polemy/eval.d
- 2010-11-27 23:46:51 - part of checkin [576c494e53] on branch trunk - fixed: literal "..." is now lifted in user-defined layers (user: kinaba) [annotate]
To Artifact [f4751e4eb7df513a]:
- File
polemy/eval.d
- 2010-11-30 02:21:42 - part of checkin [3fb4d6f9ad] on branch trunk - during @userdefinedlayer function evaluation, if lift(bottom) fails, the recursion is not memoized (user: kinaba) [annotate]
417 { 417 {
418 if( ++(*p)[1] >= 2 ) // [TODO] is 2 real 418 if( ++(*p)[1] >= 2 ) // [TODO] is 2 real
419 return (*p)[0]; 419 return (*p)[0];
420 } 420 }
421 else 421 else
422 { 422 {
423 Value v; 423 Value v;
424 try { v = evlay.lift(new BottomValue, ct | 424 try { v = evlay.lift(new BottomValue, ct
425 memo[memokey] = tuple(v, 0); 425 memo[memokey] = tuple(v, 0);
426 } 426 }
427 427
428 Value r = nonMemoizedRun(); 428 Value r = nonMemoizedRun();
429 memo[memokey] = tuple(r, 9999); 429 memo[memokey] = tuple(r, 9999);
430 return r; 430 return r;
431 } 431 }