|
|
|
Well, I'm getting T* from Cw (Comega), T? from C# 2.0 and Cw, and T! from Spec#.
Personally, I think that's needlessly complicated, and the type system already handles the difference between empty and non-empty lists gracefully. I just realized that with the deep unpack operator "->", Boo would handle T* more gracefully than Cw. In Cw, the dot operator is used for both getting members of the stream and getting a stream of the members of the items in the stream. This leads to ambiguity with even common members like Length. With ->, the dot can always mean the members of IEnumerable of T. or it could be done just as well with
from item in list select item.Length or (with more of a VB syntax) select item.Length from item in list The second seems more natural to me. Or it could be done just as well with:
list->Length Shouldn't SQL/LINQ syntax be implemented as a macro, like C# does it? Closing this issue since we now have the shortcuts for nullables and ienumerable.
Non-null type is more than a 'shortcut' and I've opened an issue specific for it : BOO-1000 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(My first JIRA and I flutz it...)