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.

Reply via email to