|
[Date Index]
[Thread Index]
[Author Index]
Reevaluation of conditional arguments when the condition has changed
- To: mathgroup at smc.vnet.net
- Subject: [mg61046] Reevaluation of conditional arguments when the condition has changed
- From: "David Park" <djmp at earthlink.net>
- Date: Sat, 8 Oct 2005 02:49:21 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
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: How to plot solutions of equations with Mathematica?
Next by Date:
No visualisation of unmatched brackets anymore
Previous by thread:
Re: LU factorization and solving algorithms in Mathematica
Next by thread:
Re: Reevaluation of conditional arguments when the condition has changed
|