On Tuesday, 26 August 2014 at 06:44:52 UTC, Jacob Carlborg wrote:
On 25/08/14 22:34, "Marc Schütz" <[email protected]>" wrote:

Take Ruby as an example: Ruby is a scripting language that cannot be
compiled to native code (though it can be JITted).

Both MacRuby [1] and RubyMotion [2] supports ahead of time compilation. I'm pretty sure Apple doesn't allow anything else than compiled languages on iOS. Except for HTML and JavaScript.

[1] http://macruby.org/
[2] http://www.rubymotion.com/

I've heard about them, but I don't know any details. Anyway, the way Ruby works, they either need to restrict the language, include a full interpreter/jitter, or at most they could only translate it to a very abstract level. Like for an expression like `a + b` generating a call to a helper function like `send(_var_a, SYMBOL(":+"), _var_b);`, and hoping that the compiler backend can eliminate this in some cases.

But this doesn't really change my point: it's just another two ABIs, and their probably not meant to be public interfaces, to let the implementers keep some freedom for future developments.

Reply via email to