Re: will someone explain the behavior of Unevaluated in this example?
- To: mathgroup at smc.vnet.net
- Subject: [mg71437] 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:08 -0500 (EST)
- References: <acbec1a40611180027m5fb197b9hcb414978770ca4ef@mail.gmail.com>
Actually, I changed my mind -- depending on how SameQ is written, Blocking Unevaluated may not produce any change in the result. This still doesn't explain my Trace output from my second email. At this point I am too confused. Also, I don't think my questions made much sense. Feel free to toss this tread. On 11/18/06, Chris Chiasson <chris at chiasson.name> wrote: > 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/ > -- http://chris.chiasson.name/