Ah, you're right -- thanks. That leads me to another error:

ClojureScript:cljs.user> (extend-type js/Packages.clojure.lang.IFn IFn
(-invoke ([this] (.invoke this))))
"Error evaluating:" (extend-type js/Packages.clojure.lang.IFn IFn (-invoke
([this] (.invoke this)))) :as
"Packages.clojure.lang.IFn.prototype.cljs$core$IFn$ =
true;\nPackages.clojure.lang.IFn.prototype.call = (function
(this_sym23394){\nvar this_sym23394__23395 = this;\nvar this__23396 =
this_sym23394__23395;\nreturn
this__23396.invoke();\n});\nPackages.clojure.lang.IFn.prototype.apply =
(function (this_sym23392,args23393){\nreturn
this_sym23392.call.apply(this_sym23392,[this_sym23392].concat(args23393.slice()));\n});\n"
org.mozilla.javascript.EcmaError: TypeError: Cannot set property
"cljs$core$IFn$" of null to "true" (<cljs repl>#25)
    at <cljs repl>:25 (anonymous)
    at <cljs repl>:25 (anonymous)
    at <cljs repl>:25

I'll keep investigating.

On 30 December 2012 12:31, David Nolen <dnolen.li...@gmail.com> wrote:

> I think you've just formatted your code incorrectly. Did you try something
> like this?
>
> (extend-type js/Packages.clojure.lang.IFn
>   IFn
>   (-invoke
>     ([this] (.invoke this))
>     ([this a] (.invoke this a)))
>   )
>
>
> On Sat, Dec 29, 2012 at 8:22 PM, Stuart Campbell <stu...@harto.org> wrote:
>
>> Hi all,
>>
>> I'm toying with a way to use Clojure objects from a Rhino-based
>> ClojureScript environment (https://github.com/harto/rhino-bridge).
>>
>> I've been able to export a Clojure function into the ClojureScript
>> environment without too much difficulty. Ideally, I'd like to be able to
>> call that function as if it were a regular ClojureScript function.
>>
>> I was hoping I could do something like:
>>
>> (extend-type js/Packages.clojure.lang.IFn
>>   IFn
>>   (-invoke [this] (.invoke this))
>>   (-invoke [this a] (.invoke this a))
>>   ;; etc
>>   )
>>
>> However, this yields an error that I don't quite understand:
>>
>> java.lang.UnsupportedOperationException: nth not supported on this type:
>> Symbol
>>     at clojure.lang.RT.nthFrom(RT.java:846)
>>     at clojure.lang.RT.nth(RT.java:796)
>>     at
>> cljs.core$extend_type$assign_impls__7365$fn__7377$adapt_params__7380.invoke(core.clj:486)
>>     at clojure.core$map$fn__4087.invoke(core.clj:2434)
>>
>> In fact, I'm not sure this will work at all, since (type) doesn't appear
>> to work with non-native JS objects.
>>
>> Is the extend-type method feasible?
>>
>> Cheers,
>> Stuart
>>
>> --
>> 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
>
>
>  --
> 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

-- 
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