April 14, 2013
I would like to know if there is any working example of using Google's Portable Native Client (PNaCl) using the D compiler for LLVM.

In case there is no example, I would like to know if the current version of the D compiler is supposed to be able to work with PNaCl.

I think PNaCl can be a great platform to be able to distribute programs written in D language. One could just code in D and distribute the app to all the end users with a Chrome browser without any need of installation, just by clicking on a link.

Links:
PNaCl
http://www.chromium.org/nativeclient/pnacl

NaCl stable ABI Announcement in Reddit
http://www.reddit.com/r/programming/comments/j46sz/google_native_client_05_released_with_stable_abi/
April 14, 2013
Hi Pau,

> I would like to know if there is any working example of using Google's Portable Native Client (PNaCl) using the D compiler for LLVM.

Not as far as I'm aware of.

> In case there is no example, I would like to know if the current version of the D compiler is supposed to be able to work with PNaCl.

Well, »supposed to be able to work« is rather relative. I don't think there has been any work in that direction so far, at least not publicly. But it is certainly one of the interesting opportunities we have with LDC, and just one or two spare weekends of coding away.

The modifications actually required to the compiler should be pretty minimal (e.g. implementing the PNaCl parameter passing ABI, which is very straightforward IIRC). However, I suppose that some areas of druntime (GC, threading, TLS, …) might need to be adapted quite a bit.

> I think PNaCl can be a great platform to be able to distribute programs written in D language. One could just code in D and distribute the app to all the end users with a Chrome browser without any need of installation, just by clicking on a link.

I agree that getting D to run on PNaCl could open some nice possibilities. But what is needed is somebody to sit down and actually do the porting work – maybe you? ;)

David