As far as embedding Clojure is concerned, another option is 
ClojureScript-Lua + LuaJit + C.
I've recently started going through the CLJS-Lua source to see how viable 
this is.

I am holding off committing any serious effort until I see the talk at 
Clojure/West.  C + Python + ClojurePy2 could fit most of my needs (even if 
I have to give up some speed and memory).

Paul


On Sunday, January 27, 2013 7:07:31 AM UTC-8, Mark Rathwell wrote:
>
> > 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 
> <tbald...@gmail.com <javascript:>> 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.p...@gmail.com<javascript:>> 
> 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<javascript:>> 
> 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<javascript:>> 
> 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 
> >>>> clo...@googlegroups.com<javascript:> 
> >>>> Note that posts from new members are moderated - please be patient 
> with your first post. 
> >>>> To unsubscribe from this group, send email to 
> >>>> clojure+u...@googlegroups.com <javascript:> 
> >>>> 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 clo...@googlegroups.com<javascript:> 
> >>> Note that posts from new members are moderated - please be patient 
> with your first post. 
> >>> To unsubscribe from this group, send email to 
> >>> clojure+u...@googlegroups.com <javascript:> 
> >>> 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 clo...@googlegroups.com<javascript:> 
> >> Note that posts from new members are moderated - please be patient with 
> your first post. 
> >> To unsubscribe from this group, send email to 
> >> clojure+u...@googlegroups.com <javascript:> 
> >> 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 clo...@googlegroups.com<javascript:> 
> > Note that posts from new members are moderated - please be patient with 
> your first post. 
> > To unsubscribe from this group, send email to 
> > clojure+u...@googlegroups.com <javascript:> 
> > 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