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.