Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Not Quite R for the Parrot VM
Perl Parrot
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
src
t
.gitignore
BUGREPORTS.pod
HELP
JSM2011.pdf
LICENSE
MISSION.NQRCore.pod
NQR_Functions.pod
RANDOM.NOTES
README.pod
STATUS.pod
VERSION
nqr.pir
setup.pir

README.pod

NQR - Not Quite R

NQR is Copyright (C) 2011 by John W. Emerson and Michael J. Kane. See LICENSE for licensing details, Artistic License 2.0.

This is repository NQR in github organization NQRCore, established June 30, 2011. NQR stands for "Not Quite R".

If you aren't familiar with R, please see http://www.r-project.org. It has a wonderful community and a mature, stable language for statistical computing. NQR is a sandbox for exploring the Parrot Virtual Machine as a platform for a high-level language (HLL) using the core S grammar.

To contribute, please drop us an email. We particularly welcome feedback and hints that help us learn more about Parrot.

Jay Emerson (john.emerson@yale.edu or jayemerson@gmail.com) Mike Kane (michael.kane@yale.edu)

Building from source

NQR requires Parrot (see http://www.parrot.org/). If you can build Parrot, you should be fine building NQR (we recommend Parrot version 3.6.0 as of late July, 2011).

There are additional requirements: libRmath from the R project (at least for now), and libgsl from the GNU Scientific Library. You may also need libffi. See comment in STATUS.

To obtain NQR directly from its repository:

    $ git clone git://github.com/NQRCore/NQR.git

Once you have a copy of NQR, build and test it as follows:

    $ parrot setup.pir
    $ parrot setup.pir test

To run interactively,

    $ ./installable_nqr

To run in batch mode (e.g. from a script):

    $ ./installable_nqr myscript.nqr

Currently supported syntax

Have a glance at t/00-sanity.t, and realize that only vectors are supported (and imperfectly so) as of late July, 2011. For example, indexing starts at 0, not 1. And the bracket operator currently only has a chance of working properly for single-element get/set operations.

Bug reports

It isn't hard to break NQR, or to discover inconsistencies with R or the S syntax. Feel free to email us as you discover things, and we'll make sure it is on some list.

Something went wrong with that request. Please try again.