>> Consider the following code snippet:
>>
>> a()
>> {
>> b()
>> }
>> c()
>>
>> If {} blocks are treated as lambdas, then (in the absence of extra
>> rules) the above code will call functions 'a' and 'c' but not 'b',
>> because the call to 'b' is inside an anonymous function that is never
>> called.
>
> Yes. And as I mentioned in my note, this code is simply wrong. The only
> reason to have an inner block here in C is for the sake of adding a narrowly
> bounded local variable scope. If you want to do that, you should be using
> LET.
All I was ever trying to say is that if the above code is legal
(however misguided), and does not cause 'b' to be called, then it
should produce a compiler warning or error.
That's all. Sorry for the confusion.
Stuart
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev