Skip to content
This repository was archived by the owner on Feb 8, 2023. It is now read-only.

LLVM IR #59

Open
jbenet opened this issue Sep 30, 2015 · 4 comments
Open

LLVM IR #59

jbenet opened this issue Sep 30, 2015 · 4 comments

Comments

@jbenet
Copy link
Member

jbenet commented Sep 30, 2015

(noting down old topic)

  • use LLVM IR inside a special datastructure in the merkledag
  • can ship programs and compile them in target archs, or compile in future as new archs are available
  • but can also use LLVM IR to encode the data itself (to approach kolmogorov complexity)
  • can use this to emulate systems and formats, and fight Digital Vellum
  • this is in the vein of https://github.com/BrendanBenshoof/StackStream but with LLVM
  • Google and Apple both use LLVM IR to ship code to tons of platforms. Well established.
@sargun
Copy link

sargun commented Oct 9, 2015

LLVM IR isn't super portable. Why not start with something higher level, like NaCl (https://developer.chrome.com/native-client), or Javascript?

@jbenet
Copy link
Member Author

jbenet commented Oct 9, 2015

  • js is a separate thing-- we could have both LLVM IR and js.
  • LLVM IR might be more portable today than even the web (wow!)
  • As for NaCl (and PNaCl), sure-- but we should make than explicit choice. i don't understand this problem space well enough to be confident that we need NaCl straight up-- (though of course the NaCl sandbox is good to have)

@Kubuxu
Copy link
Member

Kubuxu commented Dec 26, 2015

Maybe we should think about WebAssembly. It is designed by people that created asm.js and PNaCl.

Problem with LLVM IR it is that it requires big toolchain to compile to native, IDK if there is small interpreter.

Also in their FAQ there is an answer about using LLVM IR: https://github.com/WebAssembly/design/blob/master/FAQ.md

@jbenet
Copy link
Member Author

jbenet commented Feb 1, 2016

yes 👍 for WebAssembly.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants