|
[Date Index]
[Thread Index]
[Author Index]
Re: Head logic
- To: mathgroup at smc.vnet.net
- Subject: [mg97074] Re: Head logic
- From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
- Date: Wed, 4 Mar 2009 07:14:52 -0500 (EST)
- References: <goj2bk$2qu$1@smc.vnet.net>
It's the same for every comparison of heads, e.g. Times == Plus return
unevaluated as well. Not sure why this is so, but I guess it would be
difficult to provein general that two functions are exactly functional
equivalent or not.
You can force evaluation by using === or =!=. Those functions check
whether the comparants are literally the same.
For testing of heads you could use expressions described in
tutorial/PuttingConstraintsOnPatterns
and
tutorial/SpecifyingTypesOfExpressionInPatterns
Cheers -- Sjoerd
On Mar 3, 12:55 pm, car... at colorado.edu wrote:
> Entering
>
> ClearAll[r];
> Head[r]
> Head[r]!=Symbol
> Head[r]==Symbol
>
> give Symbol, False and True as expected. But
>
> Head[r]==Integer
>
> evaluates to Symbol==Integer. Why not False?
> Head[r] is certainly not Integer. Likewise
>
> r=4;
> Head[r]==Integer
> Head[r]!=Symbol
> Head[r]==Symbol
>
> give True (correct) but Integer!=Symbol and Integer==Symbol.
> Why not True and False?
Prev by Date:
Re: "Do What I Mean" - a suggestion for improving
Next by Date:
Re: Looking to time how long a command takes in mathematica 6 tia
Previous by thread:
Re: Head logic
Next by thread:
Re: Head logic
|