[#6660] Ruby on Neko ? — Nicolas Cannasse <ncannasse@...>

Hi folks,

14 messages 2005/11/19

[#6672] testing for hardlink with "test(?-, ...)" flawed on Windows — noreply@...

Bugs item #2858, was opened at 2005-11-20 16:35

13 messages 2005/11/20

[#6684] semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...>

Hi all,

81 messages 2005/11/21
[#6685] Re: semenatics of if/unless/while statement modifiers — Mauricio Fern疣dez <mfp@...> 2005/11/22

On Tue, Nov 22, 2005 at 08:22:59AM +0900, Stefan Kaes wrote:

[#6686] Re: semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...> 2005/11/22

Mauricio Fern疣dez wrote:

[#6687] Re: semenatics of if/unless/while statement modifiers — Eric Hodel <drbrain@...7.net> 2005/11/22

On Nov 21, 2005, at 4:37 PM, Stefan Kaes wrote:

[#6689] Re: semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...> 2005/11/22

Eric Hodel wrote:

[#6693] Re: semenatics of if/unless/while statement modifiers — Yukihiro Matsumoto <matz@...> 2005/11/22

Hi,

[#6695] Re: semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...> 2005/11/22

Yukihiro Matsumoto wrote:

[#6718] Re: semenatics of if/unless/while statement modifiers — mathew <meta@...> 2005/11/22

[#6722] Re: semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...> 2005/11/22

mathew wrote:

[#6707] Re: semenatics of if/unless/while statement modifiers — "David A. Black" <dblack@...> 2005/11/22

Hi --

[#6708] Re: semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...> 2005/11/22

David A. Black wrote:

[#6714] Re: semenatics of if/unless/while statement modifiers — "David A. Black" <dblack@...> 2005/11/22

Hi --

[#6717] Re: semenatics of if/unless/while statement modifiers — Stefan Kaes <skaes@...> 2005/11/22

David A. Black wrote:

[#6798] ruby 1.8.4 preview2 — Yukihiro Matsumoto <matz@...>

Hi,

37 messages 2005/11/30

Re: semenatics of if/unless/while statement modifiers

From: "David A. Black" <dblack@...>
Date: 2005-11-22 13:11:47 UTC
List: ruby-core #6707
Hi --

On Tue, 22 Nov 2005, Stefan Kaes wrote:

> Yukihiro Matsumoto wrote:
>
>> Hi,
>> 
>> In message "Re: semenatics of if/unless/while statement modifiers"
>>    on Tue, 22 Nov 2005 09:54:46 +0900, Stefan Kaes <skaes@gmx.net> writes:
>> 
>> |So this behaviour is caused by intermingling parsing with semantic 
>> |analysis. Much like forward procedure declarations were required for old 
>> |Pascal compilers.
>> 
>> I believe it's a strict application of the "local variables should be
>> assigned first" rule.  Not a compromise for the compiler.
>> 
> It is definitely a compiler issue. Just like the recent discussion of the 
> syntax for block parameters is only a compiler issue.
>
> In both forms, the v=expr gets evaluated first. So during evaluation, the 
> assignment v=expr is always seen first, which means to me, a local variable 
> gets created and assigned in the current binding. Any decent formal semantics 
> writer would  like to treat both forms identically too, simply by stating 
> that "expr1 if expr2" is equivalent to "if expr2 then expr1" end.
>
> If the resolution of local variable assignment vs. function call were 
> implemented as a second pass on the abstract syntax tree or using some form 
> of back patching, there would be no difference between the 2 forms to begin 
> with.

What would you want to happen here?

   def x
     puts "method x"
   end

   x if x = 1   # method x
   puts x       # 1


David

-- 
David A. Black
dblack@wobblini.net

In This Thread