i really like the idea of having the elvis operator and the safe navigation 
operator in Vala.

fmi : http://groovy.codehaus.org/Operators

is this going to be added at some point into the compiler?

On Feb 1, 2012, at 21:08, Jim Nelson <j...@yorba.org> wrote:

> I was going to mention that as well.  Null handling in Java is not
> analogous to Vala's strategy, if for no other reason than there's no NPE.
> 
> It looks to me the idea of a future Vala that emphasizes code correctness
> is that it will catch things like this:
> 
> Xyxxy? x = get_xyzzy();
> int result = x.foo();
> 
> The compiler will flag that last line as problematic.  I think it will, at
> least.  I don't really know.  But it seems to me that if null-checking is
> going to be enforced by the compiler, it's not too much to ask the language
> to supply good tools for doing that checking.  The nullable operator is one
> step in that direction, but I've coded many lines where I needed something
> like the Elvis operator (and the associated operators suggested by Project
> Coin).
> 
> I'll also point out that (according to the Project Coin page) the reason
> the null-safety operators were turned down by the Java committee was that
> the Checker framework was added to Java and that Groovy, the inspiration
> for the proposed syntax, uses dynamic typing, which makes the operators
> more flexible.  But the first is not going to happen for Vala (I've not
> heard of any such framework) and the second could be made to argue against
> the nullable operator, which was, in fact, added to Vala.
> 
> I think the Elvis operator (and its cousins) should get real consideration
> and not be dismissed merely because Java didn't take them.
> 
> -- Jim
> 
> 
> 
> On Tue, Jan 31, 2012 at 7:27 AM, Artem Tarasov 
> <lomerei...@googlemail.com>wrote:
> 
>>> As a starter, Java rejected that syntax.
>> 
>> Yeah, but in Java at least a NullPointerException is thrown when null
>> dereferencing occurs. In Vala the only option to provide null-safety
>> is explicit checking for null after each method call in a chain.
>> _______________________________________________
>> vala-list mailing list
>> vala-list@gnome.org
>> http://mail.gnome.org/mailman/listinfo/vala-list
>> 
> _______________________________________________
> vala-list mailing list
> vala-list@gnome.org
> http://mail.gnome.org/mailman/listinfo/vala-list
_______________________________________________
vala-list mailing list
vala-list@gnome.org
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to