Hi Gabriel,

 yes, packages obviously contain all the good stuff, but need to start 
somewhere!

The ipython notebook project is very impressive, and I've been keeping a close 
eye on it, although I started out on monkeycruncher long before I was aware of 
it (I make slow progress). I guess I think of my thing as an experiment in just 
how much can be done purely in the web client. There are some advantages to 
pure client-side (rich interactivity, no need for a server, ubiquity) which 
make it interesting, but it might be a bit "too soon" to be useful!


Jony


--
Centre for Cold Matter, The Blackett Laboratory,
Imperial College London, London SW7 2BW
T: +44 (0)207 5947741
http://www.imperial.ac.uk/people/jony.hudson
http://www.imperial.ac.uk/ccm/research/edm
http://www.monkeycruncher.org
http://j-star.org/
--

On 3 May 2013, at 16:46, Gabriel Becker <gmbec...@ucdavis.edu> wrote:

> Jony,
> 
> I would caution that while R will run with just base, you won't be able to do 
> much of anything with it. All the statistical analysis and graphing functions 
> reside in additional packages. So practically speaking you'll need the 
> workarounds Simon mentioned involving an alternative to dyn.load so you can 
> attach additional packages. Your project looks pretty cool though!
> 
> Also, as an aside have you seen the ipython notebook ( 
> http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html )? It 
> doesn't meet your requirement of not installing anything, and currently has a 
> slightly different focus, but the appearance of the documents is very similar 
> to what you are doing here (other than being server based), and it already 
> understands multiple languages, including python, R, matlab, octave, etc and 
> is being actively developed and supported.
> 
> ~G
> 
> 
> On Fri, May 3, 2013 at 8:21 AM, Jony Hudson <jony.hud...@imperial.ac.uk> 
> wrote:
> Hi All,
> 
>  thanks for the replies. Very helpful to know that it will run with just 
> base. Looks like the best bet, at least to get started, is to not use the 
> usual build-process, but to come up with a simple build-script for just the 
> core. Ultimately, the build script has to be different anyway, as compiling 
> the Fortran code to JS requires a few more steps than the native compile.
> 
> For a bit of context, the reason I'm toying with this is I've been 
> experimenting recently with analysis-in-the-browser. The kernel of the idea 
> is that if you could do real analysis, without installing anything, and share 
> it on the web then it would be a Good Thing, and could make it easier to 
> engage people with data. I've got a proof-of-concept version running here 
> http://www.monkeycruncher.org that let's you write javascript analysis code 
> in notebook-style documents. It's neat, but it's a bit hamstrung by the lack 
> of javascript libraries to actually do any useful analysis! If you could have 
> R running in there though, that would be a much better proposition ...
> 
> I'll let you know if I make any progress!
> 
> 
> Jony
> 
> 
> --
> Centre for Cold Matter, The Blackett Laboratory,
> Imperial College London, London SW7 2BW
> T: +44 (0)207 5947741
> http://www.imperial.ac.uk/people/jony.hudson
> http://www.imperial.ac.uk/ccm/research/edm
> http://www.monkeycruncher.org
> http://j-star.org/
> --
> 
> On 3 May 2013, at 01:31, Simon Urbanek <simon.urba...@r-project.org> wrote:
> 
> > On May 2, 2013, at 6:18 PM, Gabriel Becker wrote:
> >
> >> Jony,
> >>
> >> I'm currently writing up the paper for something with a similar result but
> >> very different implementation. The RBrowserPlugin package/browser plugin
> >> (joint with my advisor Duncan Temple Lang) embeds R within the web browser
> >> as an NPAPI plugin.
> >>
> >> This approach allows full bi-directional communication between R and the
> >> javascript engine (including direct function calling and references to
> >> native objects in both directions) using a user's existing local R
> >> installation (including packages).
> >>
> >
> > Minor detail: it requires you to have R *and* a special plugin which makes 
> > it pretty much non-deployable. It's completely unrelated to what Jony is 
> > proposing - which doesn't require any dependencies and is actually pretty 
> > cool and would be useful if feasible. FWIW: There are many ways to run R 
> > from a browser that already exist - without the need for plugins or other 
> > client-side hacks - that's the beauty of modern browsers :).
> >
> >
> > To get this back on the actual topic: I have been toying with 
> > cross-compiling R when I was porting it on the iPhone and it's possible, 
> > however, you can't use the build process as-is. It does build core R 
> > properly, but the problem is that you need to bootstrap R to build any 
> > packages. I worked around the problem at the time by building packages on 
> > another platform and re-using those files (things like lazy-loaded DBs, 
> > compiled RD files etc.).
> >
> > I can imagine that you'll need some equivalent to dynamic linking, but 
> > conceptually it's nothing else but calling functions, so I think you should 
> > be able to compile each package separately and just replace the dynload 
> > code by code that loads another JavaScript. The nice thing is that packages 
> > will simply be just another JS libraries. That's all in theory, I didn't 
> > actually try that part. I suspect you'll have a lot of work, e.g. you'll 
> > need to map all the I/O operations that load compiled/stored R code, 
> > documentation, data from somewhere etc. Good luck!
> > If all fails, you can always compile R for JS/Linux ;).
> >
> > Cheers,
> > Simon
> >
> >
> >
> >> Devel source at https://github.com/gmbecker/RFirefox, release, (hopefully)
> >> officially cross-platform version to coincide with the paper going off for
> >> review.
> >>
> >> I had toyed with the idea of the emscripten approach, but I think putting R
> >> in the browser once is enough for me at the moment so I will happily keep
> >> an eye on your project instead of attacking that myself :).
> >>
> >> As for your actual question I can't really say, other than that I suspect
> >> you will not be able to dispense with base and methods, but that I would
> >> conjecture that stats is "optional".
> >>
> >> ~G
> >>
> >>
> >> On Thu, May 2, 2013 at 9:12 AM, Jony Hudson 
> >> <jony.hud...@imperial.ac.uk>wrote:
> >>
> >>> Hi,
> >>>
> >>> I'm trying to cross-compile R to javascript so that it can run in a
> >>> web-browser. Take as long as you need to stop laughing. So, as I was 
> >>> saying
> >>> - I want to try and get a build of R running in the browser. [If you're 
> >>> not
> >>> familiar with it already, you might enjoy looking at emscripten.org. It's
> >>> a remarkably capable tool for translating LLVM bitcode to javascript. 
> >>> Check
> >>> out some of the demos!]
> >>>
> >>> I'm trying to start out with the most minimal build of R possible. I can
> >>> turn off various options in the configure script, but I'm wondering about
> >>> the bundled R packages (base, stats etc). I'm guessing that the native 
> >>> code
> >>> portions of these packages are dynamically loaded at runtime, which will
> >>> probably need patching. To start off, I'd like to not build these packages
> >>> if possible.
> >>>
> >>> So, is there a way to configure which packages in the library get built or
> >>> is it just a case of editing the makefile? And is there a minimal set of
> >>> them that would still allow R to run (not be useful - that can come later 
> >>> -
> >>> just run)?
> >>>
> >>> Thanks in advance for any help anyone can provide :-)
> >>>
> >>>
> >>> Jony
> >>>
> >>> --
> >>> Centre for Cold Matter, The Blackett Laboratory,
> >>> Imperial College London, London SW7 2BW
> >>> T: +44 (0)207 5947741
> >>> http://www.imperial.ac.uk/people/jony.hudson
> >>> http://www.imperial.ac.uk/ccm/research/edm
> >>> http://www.monkeycruncher.org
> >>> http://j-star.org/
> >>> --
> >>>
> >>> ______________________________________________
> >>> R-devel@r-project.org mailing list
> >>> https://stat.ethz.ch/mailman/listinfo/r-devel
> >>>
> >>
> >>
> >>
> >> --
> >> Gabriel Becker
> >> Graduate Student
> >> Statistics Department
> >> University of California, Davis
> >>
> >>      [[alternative HTML version deleted]]
> >>
> >> ______________________________________________
> >> R-devel@r-project.org mailing list
> >> https://stat.ethz.ch/mailman/listinfo/r-devel
> >>
> >>
> >
> 
> 
> 
> 
> -- 
> Gabriel Becker
> Graduate Student
> Statistics Department
> University of California, Davis

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to