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.