On 05/09/2011 17:02, Terence Parr wrote:
> Yeah,First-time cleaning everything up and then slowly thinking about
> how generics get integrated. Is truly astounding just how wide the
> fanout is when you add a generic type. it ripples through all the
> classes. ugh. From the users point of view, however, it should look
> clean.

WHen used sensibly, generics are absolutely wonderful. Many's the 
occasion I've used an API that would clearly benefit from genericisation 
from the programmer's point of view.

So I guess what I'm saying is, don't hide the generics from the 
user-coder unless there's a good reason to. We can always specify things 
as ? or Object if we really need to, but if there's no generics we can't 
avoid annoying casts. A genericised Tree interface would be a very 
sensible way to go, and it could even generate code that has no ? left 
in, but rather has specified generics. This will mean code using the 
generated code has well-defined return types while still being able to 
leverage common runtime code for management. I'm babbling, really, and 
this probably isn't telling anyone anything they haven't thought of, but 
on the off-chance that it is, I'm hitting 'send' rather than 'delete'...

Sam

> Ter On Sep 4, 2011, at 11:47 PM, Bart Kiers wrote:
>
>> Hi Ter, others,
>>
>> Perhaps generics could be introduced in v4?
>>
>> public interface Tree<T>  { Tree<T>  getParent(); T getPayload();
>> Tree<T>  getChild(int i); int getChildCount(); String
>> toStringTree(); } Regards, Bart
>>
>>
>> On Sun, Sep 4, 2011 at 11:47 PM, Terence Parr<[email protected]>
>> wrote: btw,If you want to take a look at the clean new tree
>> interface:
>>
>> http://www.antlr.org/depot/antlr4/main/runtime/Java/src/org/antlr/v4/runtime/tree/Tree.java
>>
>>
>>
then sub interfaces
>>
>> http://www.antlr.org/depot/antlr4/main/runtime/Java/src/org/antlr/v4/runtime/tree/SyntaxTree.java
>>
>>
http://www.antlr.org/depot/antlr4/main/runtime/Java/src/org/antlr/v4/runtime/tree/ParseTree.java
>> http://www.antlr.org/depot/antlr4/main/runtime/Java/src/org/antlr/v4/runtime/tree/AST.java
>>
>>
>>
...
>>
>> Ter
>>
>>
>> List: http://www.antlr.org/mailman/listinfo/antlr-interest
>> Unsubscribe:
>> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>>
>
>>
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe:
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address

List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

-- 
You received this message because you are subscribed to the Google Groups 
"il-antlr-interest" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.

Reply via email to