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/
- Follow-Ups:
- Re: Re: will someone explain the behavior of Unevaluated in this example?
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: Re: will someone explain the behavior of Unevaluated in this example?