 
 
 
 
 
 
Re: Warning from Piecewise
- To: mathgroup at smc.vnet.net
- Subject: [mg61559] Re: Warning from Piecewise
- From: David Bailey <dave at Remove_Thisdbailey.co.uk>
- Date: Sat, 22 Oct 2005 00:36:11 -0400 (EDT)
- References: <dja298$fhh$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hello,
Clearly SetDelayed does some partial evaluation of the left hand side, 
as the following example shows:
f[Print["foo"]] := 1
foo
Unfortunately, Piecewise reports an error if the input is not of the 
right format, rather than leaving it unevaluated. One approach is to write:
Comm[p_[A : {{_, _} ..}], p_[B : {{_, _} ..}]] :=
     Comm[Testy[A], Testy2[B]] /; p === Piecewise
However, it may be easier to work with objects of the form 
myPiecewise[...] - which Mathematica will ignore - and then use 
something like:
expression /.myPiecewise->Piecewise
when you want to let Mathematica manipulate these constructs.
David Bailey
http://www.dbaileyconsultancy.co.uk

