4 ms·
A few missing items: - CIL to C++ using CoreRT/AoT compiler [1] - JVM to CIL using ikvmc [2] - Quite a few languages to WebAssembly using LLVM [3] - J# if y
by magnat 8y ago
A few missing items:
- CIL to C++ using CoreRT/AoT compiler [1]
- JVM to CIL using ikvmc [2]
- Quite a few languages to WebAssembly using LLVM [3]
- J# if you are willing to include dead but somewhat significant languages
[1] https://blogs.msdn.microsoft.com/alphageek/2016/10/13/native-compilation-why-jit-when-you-can-codegen/ https://blogs.msdn.microsoft.com/alphageek/2016/10/13/native...
[2] http://www.ikvm.net/userguide/ikvmc.html http://www.ikvm.net/userguide/ikvmc.html
[3] https://stackoverflow.com/questions/43540878/what-languages-can-be-compiled-to-web-assembly-or-wasm https://stackoverflow.com/questions/43540878/what-languages-...
- AdamM12 8y agoIsn't Python to C using CPython missing? Edit: Or I guess technically python byte code. [1] [1] http://effbot.org/zone/python-compile.htm http://effbot.org/zone/python-compile.htm
- chrisseaton 8y ago> Isn't Python to C using CPython missing? Python doesn't compile Python to C, non-technically or otherwise. Where did you get that impression? I presume they don't include internal IRs like Python bytecode, as it's not any kind of shared or standardised format. Otherwise you'd be including tons of different compiler IRs.
- AdamM12 8y agoI thought it maps your code to the base Py_Object like how writing an extension works? Idk only done a little bit of that and need to dive into the process more. On my todo list so if you have some links that have a good explanation of this that would be great. Unfortunately was unable to take compilers in school so missed out on the conceptual aspect of the compilation process. edit: found the docs on python.org for the compiler [1] [1] https://devguide.python.org/compiler/ https://devguide.python.org/compiler/
- chrisseaton 8y agoYeah it doesn’t compile it into C though. You may be thinking of Cython, which compiles a language similar to Python, but not quite Python, into C using the Python C extension interface.
- hawkice 8y agoAlso, rust to webassembly
- thesephist 8y agoI think the correct representation of this is Rust to LLVM IR (which is there), then LLVM to WebAssembly (which should be there but isn't). Actually, WebAssembly as a compile target is just generally not there on the graph, which is weird. The Wasm compiler scene is pretty rapidly fluctuating though.
- kyberias 8y ago- Quite a few languages to WebAssembly using LLVM Languages are compiled to LLVM IR and then to WebAssembly. These are shown, right?
- auscompgeek 8y agoThe graph doesn't show LLVM IR compiles to WASM. It does show LLVM IR to JS via Emscripten though.
- LeonidasXIV 8y agoAlso OCaml to OCaml bytecode via ocamlc to Javascript via js_of_ocaml.
- nerdponx 8y ago(A subset of) Clojure can be compiled to C++ using the Ferret compiler: https://ferret-lang.org/ https://ferret-lang.org/