"Each component runs in its own private address space. Inter-component communication is based on Native Client’s reliable datagram service, the IMC (Inter-Module Communications). For communications between the browser and a NaCl module, Native Client provides two options: a Simple RPC facility (SRPC), and the Netscape Plugin Application Programming Interface (NPAPI), both implemented on top of the IMC. The IMC also provides shared memory segments and shared synchronization objects, intended to avoid messaging overhead for high-volume or high-frequency communications." [1]
The Native Client modules can communicate with the browser using either NPAPI or simple RPC (SRPC) [2] so there would be that implement that in Haskell. [1] http://nativeclient.googlecode.com/svn/data/docs_tarball/nacl/googleclient/native_client/documentation/nacl_paper.pdf [2] http://nativeclient.googlecode.com/svn/trunk/src/native_client/documentation/npapi.html 2009/12/29 David Leimbach <leim...@gmail.com>: > I guess I'm confused by what it means to "support" this in a language. > My understanding is this is using lightweight virtualization technology > (perhaps via segment register hacks on x86, and something else on ARM) to > provide a safe sandbox to run native code in a browser. If I had to guess, > I'd say you could run an entire virtualized OS in there, similar to the way > it was done for vx32 with the Plan 9 port to it. (9vx is a port of the plan > 9 operating system to vx32, allowing it to run as a user process on linux, > freebsd, and Mac OS X) > Are you talking about porting the GHC Haskell runtime to NaCL? If so, then > I think I understand, but the language itself doesn't really need to do > anything special to support this as far as I can tell. > Dave > On Tue, Dec 29, 2009 at 5:26 AM, Joan Miller <pelok...@gmail.com> wrote: >> >> Native CLient (NaCl) [1] is a technology very cool which lets to run >> native code in web applications, and it's being integrated in some >> languages as Python [2]. Go [3] already has rudimentary support for >> Native Client (and it's logical since that both technologies are from >> Google) >> >> I hope that Haskell also gets support for NaCl and doesn't loose this >> train else a language as Go could get every time more users that until >> now they had gone to Haskell or Erlang mainly for its concurrency. >> >> >> [1] http://code.google.com/p/nativeclient/ >> [2] >> http://lackingrhoticity.blogspot.com/2009/06/python-standard-library-in-native.html >> [3] http://golang.org/pkg/exp/nacl/ >> _______________________________________________ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe > > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe