I have used MacRuby in the past with good success. I like its technique of using ObjC as the underlying "VM", using pure ObjC objects.
Unfortunately, it's impractical to write the majority of a Mac or iOS app using anything other than Xcode + ObjC, especially the UI. So the goal of this endeavor would mainly be to write command line utilities in Clojure or embed scripting capabilities into your app that understands Clojure. -Steven On Tue, Apr 23, 2013 at 4:39 PM, Rich Morin <r...@cfcl.com> wrote: > On Apr 23, 2013, at 12:38, Steven Degutis wrote: > > Currently Clojure exists on the JVM, the CLR, and the JSVM. > > > > Why not put it on top of ObjC too? > > +1 > > I'd be delighted to have such a port. It could extend Clojure's span to > include OSX (including OpenStep) and iOS (in a somewhat diminished form). > See below for some information on related efforts in Ruby. > > -r > > > While at Apple, Laurent Sansonetti developed MacRuby, a open-source port > of Ruby that uses LLVM and runs on OSX. Like Clojure, MacRuby "embraces" > its platform (in this case, the Mac's OS, frameworks, and ObjC's runtime. > Conveniently, MacRuby also retains access to Rubyish resources (eg, Gems > and a wealth of Unixish commands, functions, and system calls). > > I suspect that there is no really good way to map ObjC method names into > more conventional languages. MacRuby uses a parameter hash for this, so > parts of ObjC method names become hash keys. > > Unlike JRuby, MacRuby makes no strong effort to make its code look like > idiomatic Ruby. However, the (related) HotCocoa project did some nifty > experimentation in this area. > > > > While this is certainly neat, it doesn't allow Clojure to be used as > > an embedded scripting language inside an ObjC app. > > > MacRuby doesn't run on iOS, either. As I understand it, the main problem > is a lack of memory management. However, I'd also expect some Unixish > features to be missing. > > So, Laurent has produced _another_ port of Ruby as a closed-source (though > inexpensive) effort. I haven't played with it (http://www.rubymotion.com > ), > but I'd expect RubyMotion to be very solid. > > Because RubyMotion is closed source, you can't simply inspect the way that > Laurent solves similar problems. However, he gives talks regularly, chats > online, and may well be willing to explain how he solved specific issues. > > Getting copies of MacRuby and/or RubyMotion might also be worthwhile as a > way to see how Laurent's decisions have worked out in practice. It might > also push you in the direction of interoperability. It's all good... > > -- > http://www.cfcl.com/rdm Rich Morin > http://www.cfcl.com/rdm/resume r...@cfcl.com > http://www.cfcl.com/rdm/weblog +1 650-873-7841 > > Software system design, development, and documentation > > > -- > -- > 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.