Well, in general Julia can't type infer the whole program at once, and
where it can't it defers compilation to when the methods are called at
runtime, when it knows the input types. From what I understand that's how
static compilation will work; compile as far as possible then fall back on
the JIT. I'm not 100% sure but I think that would violate Apple's rule, and
it looks like the Mac App store has similar restrictions, too.

You could work around that in a couple of ways. One would be to compile
without any optimisations for code that can't be statically type inferred –
I suspect that would have a pretty severe performance impact, though.

The much nicer way would be to run the Julia app in dev-mode with JIT
enabled, track what methods are JIT-compiled, then disable JIT and
precompile those methods in releases. That would remove the JIT without
losing performance.

I'm no expert on the core compiler though, so hopefully someone else can
chime in to say what parts of this a feasible.

On 30 December 2014 at 17:22, Spencer Russell <[email protected]>
wrote:

> Bummer. Some quick googling seems to confirm that Apple still doesn't
> allow JIT-compiled code. They do allow interpreted code, but only if the
> code is shipped with the app and not loaded from elsewhere.
>
> Can you clarify "static binaries will rely on the Julia runtime / JIT, at
> least to begin with"? If I understand the Apple rules, basically it will
> disallow jumping to any dynamically-generated code. So the Julia runtime
> shouldn't pose a problem, as long as the executable code isn't generated on
> the fly.
>
>
> peace,
> s
>
> On Tue, Dec 30, 2014 at 12:09 PM, Mike Innes <[email protected]>
> wrote:
>
>> In principle, although last time I checked Apple doesn't allow apps to
>> use JIT compilation, so we'd need fully static compilation first. I don't
>> know exactly what the precompilation roadmap looks like, but my
>> understanding is that static binaries will rely on the Julia runtime / JIT,
>> at least to begin with.
>>
>> On 30 December 2014 at 16:55, Spencer Russell <
>> [email protected]> wrote:
>>
>>> Once it's running on ARM it should be possible to use the C API to call
>>> into Julia code from ObjC, right? I suppose that doesn't address the OP
>>> question about GUI dev in Julia, but at least using Julia for compute
>>> within a mobile app should be pretty feasible in the not-so-distant future.
>>>
>>>
>>> peace,
>>> s
>>>
>>> On Tue, Dec 30, 2014 at 9:50 AM, Mike Innes <[email protected]>
>>> wrote:
>>>
>>>> I hope we'll one day have ObjectiveC.jl running on iOS, but that day is
>>>> a long way off.
>>>>
>>>> On 30 December 2014 at 02:06, Stefan Karpinski <[email protected]>
>>>> wrote:
>>>>
>>>>> You'd have to get Julia running on a mobile phone first, which we may
>>>>> be getting close to but as far as I know has not been accomplished yet.
>>>>>
>>>>> On Mon, Dec 29, 2014 at 8:18 PM, <[email protected]> wrote:
>>>>>
>>>>>> Are there any package in the works for an NUI or some mobile GUI for
>>>>>> Julia?
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to