I'm having real difficulty trying to write a macro that creates a defrecord 
which implements certain protocols in Clojurescript.

I've created a minimal example project that shows the problem I'm having at 
https://github.com/rsslldnphy/cljs-protocols-in-macros

The example has two records, one created with a plain defrecord that implements 
IFn, the other that does exactly the same but in a macro. The plain defrecord 
works as expected, but the one created in a macro doesn't - it's not callable 
as a function.

Weirdly it returns true for (ifn?) however. Looking at the js console 
(screenshot in the repository) the macro created record seems to have a value 
of `true` in its __proto__ map for cljs.core.IFn (whereas all the other entries 
in the __proto__ map are functions, and the plain defrecord has function 
entries for the different arities of `invoke`).

I'm lost at this point (and new to Clojurescript). Am I doing something wrong? 
Is this even possible?

Thanks,

Russell

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to