Loading performance is actually better than clojure on the jvm, on my notebook loading clojure.core takes 700ms on the jvm and 200ms on the ios simulator.
And for computation performance I haven't benchmark yet, but at first sight doesn't seems to be a problem. On the second question, j2objc generates the retain release calls, and in my experience really good. And the refs and atoms implementations on clojure don't have much magic on them. I translated and ran all clojure core tests on the ios simulator and they (pretty much) all pass, there a few failures caused because j2objc emulates NullPointerException and ClassCastException, and not perfectly. On Sat, Jan 25, 2014 at 9:36 PM, Timothy Baldridge <tbaldri...@gmail.com>wrote: > What's the performance of this code like? I'd be interested in seeing how > performance on Clojure data structures compares. In my experiments with > reference counting and highly polymorphic code, getting much faster than > languages like Python was quite hard. Without a more dedicated optimizer > that understands Clojure code, I'm not sure how fast it can be. > > Secondly, how does j2objc get around reference counting and atomic > updates. Articles such as this : > http://hacksoflife.blogspot.com/2009/07/cas-and-reference-counting-dont-mix.htmlbasically > suggest that attempting lock free references (like atoms) with > reference counting is not exactly easy. I'm interested in how j2objc solves > this as well. > > Timothy > > > On Sat, Jan 25, 2014 at 5:17 PM, Gal Dolber <g...@dolber.com> wrote: > >> Hey, you cannot subclass from clojure at the moment. But I its not >> necessary.. >> Just create a UIView, add subviews, properties and listeners. And if you >> need a UIViewController to pass around, create one and set the view with >> setView: >> >> I have a small ui framework, but its not ready to open source. >> Its amazing what you can do with AutoLayouts when you have full access to >> them, I haven't miss Storyboards.. >> I'll try to get this ready and post an example. >> >> On the other side, I was really curious to see what people would come out >> with to do UI with no subclassing.. I came out with one solution, but I'm >> sure its not the only one. >> >> >> On Sat, Jan 25, 2014 at 8:31 PM, PublicFarley <publicfar...@gmail.com>wrote: >> >>> I'm utterly shocked by the lack of posts and questions about this very >>> cool variation of the Clojure compiler. Think people.... Develop iOS apps >>> in Clojure! Awesome and fun. I suggest that the author and his team try to >>> see if you can present at ClojureWest. Need to get the word out. >>> >>> Anyway, quick question to the OP. Can you post an example where you >>> subclass UIViewController and throw up a simple UIView with say a button >>> and delegate method that gets called on button click. Would love to see >>> where and how you do your 'release' calls as well. >>> >>> I think a simple example like above would give people some understanding >>> on how to really start digging in to clojure-objc. >>> >>> - PublicFarley >>> >>> >>> On Friday, January 24, 2014 1:37:01 AM UTC-5, Gal Dolber wrote: >>>> >>>> clojure-objc is a clojure compiler that generates java(instead of >>>> bytecode) and uses j2objc(https://code.google.com/p/j2objc/) to >>>> translate it to objc. >>>> >>>> Goals >>>> * Write iOS and MacOS apps in clojure >>>> * Future proof: new features on clojure should be easy to add >>>> * Distribute clojure-objc libs using maven >>>> * Pure clojure libs should 'just work' (if they only use the jre emulated >>>> classes) >>>> * ObjC dynamic interop >>>> * Run tests in the jvm (with no ObjC interop) >>>> >>>> For more information: >>>> https://github.com/galdolber/clojure-objc >>>> >>>> Lein plugin: >>>> https://github.com/galdolber/lein-objcbuild >>>> >>>> Sample project: >>>> https://github.com/galdolber/clojure-objc-sample >>>> >>> -- >>> -- >>> 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/groups/opt_out. >>> >> >> -- >> -- >> 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/groups/opt_out. >> > > > > -- > "One of the main causes of the fall of the Roman Empire was that-lacking > zero-they had no way to indicate successful termination of their C > programs." > (Robert Firth) > > -- > -- > 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/groups/opt_out. > -- -- 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/groups/opt_out.