Posts tagged with “public”, “cantor”, and “r”

May 30

R in Cantor: now with tab-completion

Good news, everyone. Cantor's R backend now has gained the same level of tab-completion as the original CLI R does, at least I want to believe in it. Turned out to be much easier than I originally thought as R comes with its own strong core tab-completion infrastructure, isolated from the interface code. So, even though it works, I'm not actually proud of the code and it has lots of stubs for those unlikely-to-happen situations. However those, who are using Cantor with R already are hereby welcomed to grab the r1132348 version of SoC-Cantor directory and play with it around for a while to make sure it works as intended in a regular workflow.

06:17 | Comments | Tags: , , ,
May 25

Google Summer of Code project: R backend for Cantor improvements

This year I am taking part in the Google Summer of Code program. The project I am going to work on is the improvement of R language support in Cantor mathematical environment written by Alexander Rieder. The project includes both regular fixes aiming to bring the functionality of different Cantor's languages on par, and other more ambitious goals which revolve around upgrading Cantor itself which would allow to turn it into a serious and appealing working environment for R programmers. Following is the list of planned improvements:

  • Syntax highlighting and tab-completion — the obvious commodity of many environments still lacks in Cantor for the R language. In the scope of the project it is planned to fully implement the syntax highlighting feature, highlighting of invalid code constructs, symbol completion from the working environment, available commands etc;
  • Environment browser. The workplace in R is called an environment, which is composed of object the user has allocated. For the ease of the user a panel will be implemented which will display currently active environment, allowing the user to browse trough, annotate objects and drag them into the worksheet;
  • Plotting assistant. The plots in R are much sophisticated, along with myriads of representation customizations and features. An assistant will be implemented which would ease the process of plotting for a new user(and sometimes for a lazy experienced one). It would help compose a plotting command, fine-tune an existing one and inspect the code being generated by assistant;
  • CRAN integration into the package management system. A lot of Linux system repositories allow only indirect access to CRAN. They repackage CRAN's packages into a native format and publish them on their own repository. This scheme is not always convenient for both the user, which becomes limited in CRAN access, and repository maintainers, which are doing the «double work». Therefore, in the scope of the program an experimental support of CRAN in PackageKit is going to be implemented, thus allowing the user to access CRAN directly in their package manager;
  • «Eyecandy» table representation. Currently, the tables in Cantor are drawn pretty much in the same way they are in console R interface — they are displayed pseudographically. Indeed, this is not the modern picture the end user expects of Cantor GUI. It is planned to replace table representations in Cantor with HTML-rendered ones, including CSS styling support. The table representation is among the most common operations in R workflow and this improvement is meant to be the first step in a series of other representation improvements outside of GSoC;
Moreover, there are plans for upgrading the architecture of worksheet representation in Cantor, which would allow to skip some of the technical limitations in the way worksheet run results are displayed. In particular, it would make possible to create interactive and standalone representation widgets such as tables with sorting and search support, extra-informative plots and much more others.

In my blog, I shall regularly report the progress achieved on this breathtaking project.

09:40 | Comments | Tags: , , , ,