> Embedding in applications - Python is used very often as a scripting language 
> in 3d apps, games, mapping software, etc. I've yet to hear of the JVM ever 
> being used for this.

Related to this, do you have any thoughts on the viability of
embedding clojure-py into a C++ application for similar use cases?
Seems that performance could be a concern, but sandboxing might be
more straightforward.

Haven't had time to try this myself yet.

Thanks.


On Fri, Jan 25, 2013 at 11:28 AM, Timothy Baldridge
<tbaldri...@gmail.com> wrote:
>
> The important question to ask yourself (and I'll cover this in my talk), is 
> why do you want native Clojure?
>
> A native implementation of Clojure will fail to deliver on several fronts:
>
> Interop with systems - Java has one of the biggest ecosystems on the planet
>
> Performance - The JVM JIT and GC are really the best that the world has to 
> offer. Beating them in the general use case is very, very hard.
>
> However, a native clojure implementation could succeed on a few other fronts:
>
> Deterministic behavior - The JVM JIT/GC are not very deterministic, and are 
> hard to reason about. In this area they trade off simplicity for performance. 
> 99% of the time that is what you want. But perhaps in some cases you would 
> like different behavior.
>
> Embedding in applications - Python is used very often as a scripting language 
> in 3d apps, games, mapping software, etc. I've yet to hear of the JVM ever 
> being used for this.
>
> Systems where the JVM isn't available/allowed - think iOS
>
> So while I think there is a use for a non JVM/JS implementation of Clojure, 
> the use cases are much smaller than many think.
>
> I've gotten a bit sidetracked on the more general topic of generating native 
> code via Clojure and LLVM lately, so while my talk will show some basic 
> Clojure code running in the Python VM via LLVM, it will also cover the more 
> broad concept of leveraging LLVM directly from Clojure on the JVM.
>
> The latter is a prerequisite to the former, so the library I'll be showcasing 
> can be used for generating code for either situation. Should be fun times for 
> all!
>
> Timothy
>
>
>
>
>
> On Fri, Jan 25, 2013 at 9:08 AM, Tony Pitluga <tony.pitl...@gmail.com> wrote:
>>
>> There are a couple projects that might be worth looking at although it seems 
>> both have not been updated in a few months.
>>
>> ClojureC: https://github.com/schani/clojurec
>> Clojure-Scheme: https://github.com/takeoutweight/clojure-scheme
>>
>>
>> On Fri, Jan 25, 2013 at 10:35 AM, Nahuel Greco <ngr...@gmail.com> wrote:
>>>
>>> Check the clojure-py2 project, they plan to use LLVM to generate native 
>>> modules (as C compiled) for Python. When that objective is reached probably 
>>> you will have almost all the machinery to compile python-less native 
>>> binaries:
>>>
>>> http://lanyrd.com/2013/clojurewest/sccgmm/
>>>
>>>
>>> Saludos,
>>> Nahuel Greco.
>>>
>>>
>>> On Fri, Jan 25, 2013 at 12:18 PM, Marko Kocić <ma...@euptera.com> wrote:
>>>>
>>>>
>>>>
>>>> On Friday, January 25, 2013 6:12:07 AM UTC+1, Mikera wrote:
>>>>>
>>>>> A natively compiled Clojure would be very very interesting (perhaps 
>>>>> targeting LLVM?)
>>>>>
>>>>> However it would also be very hard to implement. Clojure depends on a lot 
>>>>> of features provided by the JVM (JIT compilation, interop with Java 
>>>>> libraries, garbage collection being the most significant ones). It would 
>>>>> be very hard to reimplement all of these from the ground up. The JVM is 
>>>>> already a very good host platform, why fix something that isn't broken?
>>>>
>>>>
>>>> What about native ClojuresScript? It doesn't have to implement everything 
>>>> Clojure have already, and many people could consider it good enough 
>>>> alternative to Clojure. I could personally live without runtime macros and 
>>>> eval if it would gain me small and performant native executable.
>>>>
>>>>>
>>>>> Arguably the effort would be better spend improving the JVM with extra 
>>>>> features that would help Clojure (e.g. TCO).
>>>>>
>>>>> On Tuesday, 22 January 2013 00:29:54 UTC+8, octopusgrabbus wrote:
>>>>>>
>>>>>> I use Clojure primarily as a very reliable tool to aid in data 
>>>>>> transformations, that is taking data in one application's database and 
>>>>>> transforming it into the format needed for another applications' 
>>>>>> database.
>>>>>>
>>>>>> So, my question is would a natively compiled Clojure make sense or turn 
>>>>>> the language into something that was not intended? In almost all 
>>>>>> instances I have not found a problem with Clojure's execution speed so 
>>>>>> my question is not about pro or anti Java.
>>>>>>
>>>>>> Thanks.
>>>>
>>>> --
>>>> --
>>>> 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 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 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
>>
>>
>
>
>
>
> --
> “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 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


Reply via email to