On Thu, Apr 17, 2008 at 8:26 AM, Martin Probst <[EMAIL PROTECTED]> wrote:
>
>  Hi,
>
>  very interesting article. I'm not sure if I should rather ask here or
>  in your blog, I'll try here first :-)
>
>  In the article you use a function H(Object.equals) in pseudocode,
>  which is supposed to give you a method handle. I'm curious, with the
>  new uses of annotations for meta programming in Java (using reflection
>  or byte code modifications like AspectJ), you'll see stuff like this
>  all over the place:
>
>  @Entity
>  @Index(on = "bar")
>  class Foo {
>    private String bar;
>  }
>
>  I.e., the field bar is referenced by it's name as a String, which is
>  ugly for many reasons. Stuff like this can be found in Hibernate
>  annotations, JPA annotations, JSR-311 and so on.
>
>  I think while your at it defining a way to obtain a handle to a
>  method, maybe it would be nice to introduce something like a Smalltalk
>  symbol to Java? I'd like to be able to write "@Index(on = &Foo.bar)",
>  or something similar. We'd need the equivalents of a local symbol
>  (resolvable in the context of a class), a resolved symbol that maps to
>  a fully qualified name, and then maybe a way to differentiate between
>  methods and fields.


A couple of the closure proposals include some form of method/field
literal, it would look like this:

-fields: Foo#bar
-methods: Foo#bar(), Foo#bar(int)

It's better to reuse whatever syntax these proposals use.

>  Something like this would make many meta programming APIs a lot easier
>  to use, including yours about method handles.
>
>  Regards,
>  Martin

Best regards,
Daniel Yokomizo

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "JVM 
Languages" 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/jvm-languages?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to