MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: will someone explain the behavior of Unevaluated in this example?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg71435] Re: will someone explain the behavior of Unevaluated in this example?
  • From: "Chris Chiasson" <chris at chiasson.name>
  • Date: Sat, 18 Nov 2006 04:41:06 -0500 (EST)
  • References: <acbec1a40611180027m5fb197b9hcb414978770ca4ef@mail.gmail.com>

this expression should, imho, produce an error or False

Block[{names,Unevaluated},Unevaluated[names["1","0"]]===names["1","0"]]

but it produces True

On 11/18/06, Chris Chiasson <chris at chiasson.name> wrote:
> sorry, that second one should be:
>
> Block[{q = 5, f, g}, {Module[{f =
>     Unevaluated[q], g}, g =
>       Block[{Unevaluated}, First@f]; f === g], Unevaluated[q] === q}]
>
> (and it still produces {False, False})
>
> also, I have a similar expression in some code, and a TracePrint on it
> contains this:
>
> Unevaluated[names["1", "0"]] === names["1", "0"]
>
> with the _next line_ saying False
>
> (even though Unevaluated and SameQ aren't Blocked and names isn't
> Blocked, but doesn't have a value) (afaik)
>
> On 11/18/06, Chris Chiasson <chris at chiasson.name> wrote:
> > Block[{q = 5, f, g}, {Module[{f =
> >     Unevaluated[q], g}, g = Evaluate@f; f === g], Unevaluated[q] === q}]
> >
> > gives {True,False}, which is unexpected (by myself)
> >
> > Block[{q = 5, f, g}, {Module[{f = Unevaluated[q], g},
> >     g = Block[{Unevaluated}, f]; f === g], Unevaluated[q] === q}]
> >
> > gives {False,False}, as expected
> >
> > --
> > http://chris.chiasson.name/
> >
>
>
> --
> http://chris.chiasson.name/
>


-- 
http://chris.chiasson.name/


  • Prev by Date: Re: Patterns_ to define linear operators?
  • Next by Date: Integrate failure
  • Previous by thread: Re: will someone explain the behavior of Unevaluated in this example?
  • Next by thread: Re: Re: will someone explain the behavior of Unevaluated in this example?