I found the solution to the original question I had posed:

Is there a way to indicate the protocol names should be preserved? 
> (Analogous to the way ^:export can be used on function definitions.)


You simply need to place the meta directly in the method signature forms, 
as illustrated here:

(defprotocol TableViewDataSource
  (^:export number-of-sections [this])
  (^:export number-of-rows-in-section [this section])
  (^:export cell-for-row-at-index-path [this section row]))

I came to this solution after reading the implementation of emit-protocol :)

With this change, the protocol methods can be called as regular functions 
from the JavaScriptCore / Obj-C host, even with :advanced optimizations 
enabled.

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to