Rhino provides a similar facility
https://developer.mozilla.org/en/Scripting_Java#JavaScript_Functions_as_Java_Interfaces
but AFAIK it uses reflection.

On Tue, Sep 1, 2009 at 12:03 AM, Kevin Downey<redc...@gmail.com> wrote:
>
> I think this would necessitate an added layer of indirection and
> reflection, which would mean taking a performance hit.
>
> On Mon, Aug 31, 2009 at 2:54 PM, Stuart
> Sierra<the.stuart.sie...@gmail.com> wrote:
>>
>> That's a clever trick.  How does the block know which interface method
>> was invoked?
>> -SS
>>
>> On Aug 31, 2:41 pm, rb <raphi...@gmail.com> wrote:
>>> Hi,
>>>
>>> After using Jwt from Clojure, I did it with Jruby and discovered that
>>> Jruby has what they call Closure Conversion (http://kenai.com/projects/
>>> jruby/pages/CallingJavaFromJRuby#Closure_conversion ) where a Ruby
>>> block or closure is converted to an appropriate Java interface. From
>>> the wiki: "When calling a method that expects an interface, JRuby
>>> checks if a block is passed and automatically converts the block to an
>>> object implementing the interface".
>>>
>>> I found this to be unbelievably easy to use and efficient (for the
>>> developer) as the listener is added this way:
>>> button.clicked.add_listener(self) do
>>>   greeting_.setText(nameEdit_.getText)
>>> end
>>>
>>> There's no need for the developer to implement any interface or manage
>>> any proxy object.
>>> I wondered if something similar is possible in Clojure. If not, would
>>> this be considered a valuable addition to Clojure?
>>>
>>> Thanks
>>>
>>> Raphaël
>> >
>>
>
>
>
> --
> And what is good, Phaedrus,
> And what is not good—
> Need we ask anyone to tell us these things?
>
> >
>



-- 
Professional: http://cgrand.net/ (fr)
On Clojure: http://clj-me.blogspot.com/ (en)

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to