Warning, /education/cantor/src/backends/R/DESIGN is written in an unsupported language. File is not indexed.

0001 This backend integrates the R environment into Cantor.
0002 
0003 The design of the R backend is different from the other backends:
0004 As R offers a C API, there is no necesity for parsing output.
0005 As the R API is not thread-save and to not let the backend freeze
0006 Cantors ui, the backend is implemented as 2 parts:
0007 
0008 - The RServer:
0009   This is a separate application, that uses the R-API to run commands,
0010   and exposes it's functionality over DBUS
0011 
0012 - The R backend:
0013   This implements the Cantor interfaces, and starts the RServer. It delivers
0014   the commands to the server over DBUS, and connects to it's signals to get
0015   the result.
0016 
0017 To embed plots, the RServer creates a png paint device, and checks if it gets
0018 changed while a computation is running. If so, the url of the png is delivered
0019 as result, and a new png-device is created, with a new temporary file.
0020 (NOTE: instead of png, eps should be used, but there were some problems when I first
0021 tried)
0022 
0023 The Code to access the R-API is heavily based on the RInside library
0024 by Dirk Eddelbuettel, see http://dirk.eddelbuettel.com/code/rinside.html