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/
- Follow-Ups:
- Re: Reevaluation of conditional arguments when the condition has changed
- From: Igor Antonio <igora@wolf-ram.com>
- Re: Reevaluation of conditional arguments when the condition has changed
- From: Carl Woll <carlw@wolfram.com>
- Re: Reevaluation of conditional arguments when the condition has changed
- From: Chris Chiasson <chris.chiasson@gmail.com>
- Re: Reevaluation of conditional arguments when the condition has changed