MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Reevaluation of conditional arguments when the condition has changed


Hi,

expr1 /. DownValues[foo]

Regards

  Jens



PS: This seems to be a bug, introduced by some 
kind of optimization.



"David Park" <djmp at earthlink.net> schrieb im 
Newsbeitrag news:di7r8p$koj$1 at smc.vnet.net...
| Dear MathGroup,
|
| Here is a programming problem that stumps me. We 
start with a condition that is always False.
|
| fooQ[_] := False
|
| Then write a definition that will factor out 
multipliers of fooQ objects.
|
| foo[a_ b_?fooQ] := a foo[b]
|
| The following does not factor because b, or 
anything else, fails the test.
|
| expr1 = foo[a b]
| giving: foo[a b]
|
| Now I define b as a fooQ object.
|
| fooQ[b] := True
|
| Now when I enter the same expression the a 
factors out.
|
| foo[a b]
| giving: a foo[b]
|
| But if I reevaluate expr1 the definition is not 
applied.
|
| expr1
| giving:  foo[a b]
|
| Why shouldn't I expect that to evaluate and now 
factor? Is there a proper way to write the 
definitions so it will evaluate?
|
| David Park
| djmp at earthlink.net
| http://home.earthlink.net/~djmp/
|
| 



  • Prev by Date: RE: Reevaluation of conditional arguments when the condition has changed
  • Next by Date: Re: Reevaluation of conditional arguments when the condition has changed
  • Previous by thread: RE: Reevaluation of conditional arguments when the condition has changed
  • Next by thread: No visualisation of unmatched brackets anymore