It's getting closer. First, the --compile=all and --dump-bitcode=yes
options to Julia are a big help in dumping LLVM bitcodes. The
contrib/build_sysimg.jl code is useful for this after modifying it to
include these Julia command-line options.

There are a few issues with using Emscripten with Julia code:

* 32-bit code -- Emscripten expects 32-bit bitcode. On a 64-bit platform,
Julia generates 64-bit bitcode. I tried using the build_sysimg.jl script
with a target of i686, but Emscripten still gave me errors.

* struct error -- See this bug:

    https://code.google.com/p/nativeclient/issues/detail?id=3932

* Symbol naming -- Code generated by Julia has a lot of symbols like #sym
that Emscripten doesn't like. This can be handled by either Emscripten or
on the Julia side.

Lastly, libjulia bitcode needs to be generated. I've gotten about 80% of it
to compile after stripping out the libuv stuff. There are also libraries
like BLAS, but these can be added as needed.





On Thu, Dec 18, 2014 at 2:48 PM, Páll Haraldsson <pall.haralds...@gmail.com>
wrote:
>
>
> On Thursday, December 18, 2014 10:59:53 AM UTC, Jerzy Głowacki  wrote:
>>
>> I suppose Julia would be the successor to JavaScript if it was converted
>> by Emscripten and run by asm.js. But for now there seems to be an
>> Enscripten bug which invalidates Julia IR code.
>
>
> Hi,
>
> Curious, what bug is that? You have a bug number or know what it relates
> to (on Emscripten side)? "Invalidates Julia IR code"? Intermediate
> Representation? Does the bug only affect Julia? Have anything to do with
> JavaScript "ints" (that it their "non-existence", JS uses doubles as int)?
>
> Did you really mean to say "Julia would be the successor" or "Julia could
> be a successor"?
>
> Is there any obvious "successor" or fairly much used alternative
> currently? I've heard about Coffeescript, Typescript and Dart etc.
> languages made to compile to JavaScript. And Scala.js. Scala was meant to
> run in JVM and Scala.js has slightly different semantics because if JS's
> ints. I wandered if Julia could do the same.
>
> I assume you are talking about compile Julia the language/environment to
> JavaScript and run the the REPL in a browser?
>
> Should it be easier to compile Julia code to C (possible now) and that C
> code via Emscripten to JavaScript? Emscripten says they handle "portable C
> code". Doesn't Intel's Julia2C claim "portable C"? I don't really see how
> Emscripten handles "ints". There is no requirement that C's ints are less
> than 64 bit? Do not even have to be two's compliment, right? I fail to see
> how they densely pack "ints" (that are 64-bit doubles) into 32-bit in
> arrays..
>
>
> PS. I dreamt my first dream in Julia code tonight. Might be a sign it's
> the language for me.. :) Reminds me: "Dreaming in code" is a good book on
> (Python and) Chandler (and e.g. Kapor/Mozilla)..
>
> PS2. Is there an alternative gateway to the forums. I just hate using the
> web(browser it's slow). Google Groups used to be for Usenet, but not this
> forum..
>
>

Reply via email to