|
[Date Index]
[Thread Index]
[Author Index]
Re: How to get non-printing heads?
- To: mathgroup at smc.vnet.net
- Subject: [mg46983] Re: [mg46946] How to get non-printing heads?
- From: Tomas Garza <tgarza01 at prodigy.net.mx>
- Date: Thu, 18 Mar 2004 01:25:21 -0500 (EST)
- References: <200403170055.TAA11783@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Apply[f, expr] or f @@ expr replaces the head of expr by f. (Viz. Help
Browser)
Tomas Garza
Mexico City
----- Original Message -----
From: "kj" <socyl at 987jk.com>
To: mathgroup at smc.vnet.net
Subject: [mg46983] [mg46946] How to get non-printing heads?
>
> How can I give a Mathematica object a different head?
>
> I tried
>
> In[1]:= Head[a] ^= Constant;
>
> But, as shown below, this doesn't work as desired:
>
> In[2]:= MatchQ[a, _Constant]
>
> Out[2]= False
>
> In[3]:= MatchQ[a, _Symbol]
>
> Out[3]= True
>
> I even tried
>
> In[4]:= a/: MatchQ[a, _Constant] = True;
>
> In[5]:= ??a
> Global`a
>
> Head[a] ^= Constant
>
> a /: MatchQ[a, _Constant] = True
>
> ...but
>
> In[6]:= MatchQ[a, _Constant]
>
> Out[6]= False
>
> Is there any way to give "a" a user-defined head?
>
> My immediate goal is to be able to define functions that perform
> algebraic manipulations on Mathematica expressions according to
> the types of the objects they contain. I want to leave these
> objects pretty much undefined, other than specifying their types.
> E.g.:
>
> myDerivative[x_Constant] := 0;
>
> myDerivative[a]
>
> ==> 0
>
> myDerivative[b]
>
> ==> myDerivative[b] (* Derivative doesn't know how to handle Symbol
*)
>
> TIA,
>
> kj
> --
> NOTE: In my address everything before the period is backwards.
>
>
Prev by Date:
Re: How to get non-printing heads?
Next by Date:
Re: Exact real solutions of cubic equations
Previous by thread:
How to get non-printing heads?
Next by thread:
Re: How to get non-printing heads?
|