[R-pkg-devel] golang based package for R msgpack and websocket work (RMQ)

Dirk Eddelbuettel edd at debian.org
Mon Oct 26 14:59:47 CET 2015


Hi Jason,

On 24 October 2015 at 09:31, Jason E. Aten wrote:
| Hello r-package-devel,
| 
| I've made a package for R that uses Go (golang), the compiled language
| created by Rob Pike, Ken Thomson, Robert Griesemer, a team of Google
| employees, and thousands of open source volunteer contributors. See
| http://golang.org

Nice. I like go and looked at it a few times over these last few years. Did
you know that Google has worked on Go/R integration?  Christoph Best talked
about it at useR! 2015. No code release yet, and it depends on RPC and new
ProtoBuf.

| My package, called RMQ for "R messaging and queuing" provides msgpack
| (supporting version 2 of msgpack) serialization and robust web-socket based
| RPC.  The existing package for msgpackR in CRAN is for the outdated msgpack
| 1 standard, and can be very slow for some inputs, crashing on others. RMQ
| instead uses a highly optimized and compiled msgpack parsing library. RMQ
| also incorporates a hardened and well-tested websocket webserver framework
| from the Go world. The details of RMQ can be viewed at
| https://github.com/glycerine/rmq
| 
| I view this as cutting edge work. It demonstrates for the first time how to
| integrate libraries written in Go with R.

Let's the view of package author's of their own package an invariant :)  Most
are pretty impressed.
 
| Complimenting the great library support in R, there are a quite some number
| of high quality libraries in Go; especially the networking, crypto, and
| big-integer libraries. Realistic integration between Go and R only became
| viable last month, with the release of Go1.5.1 that supports compiling Go
| code into shared libraries and simplified package vendoring.
| 
| I don't know how viable it is to contribute RMQ (or any Go based package to
| CRAN). If it is not too difficult, I would be willing to try.  Go1.5.1
| would need to be installed on all build hosts. I would be willing to help
| setup an appropriate build environments if need be.

You "just" make that
  a) a SystemRequirements: entry and possibly add a line to say which
     Debian/Ubuntu and/or Fedora/Yum packages need to be installed
  b) possibly test for it in configure
 
| In summary, my question is: is it viable to add RMQ to CRAN?

Yes. Many other packages on CRAN depend on / work with external packages,
libraries or tools.

We'll help.  Let's work on this.

Dirk
 
| Thank you for your thoughts!
| 
| Jason
| 
| 	[[alternative HTML version deleted]]
| 
| ______________________________________________
| R-package-devel at r-project.org mailing list
| https://stat.ethz.ch/mailman/listinfo/r-package-devel

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org



More information about the R-package-devel mailing list