GithubHelp home page GithubHelp logo

djun-kim / statistics--rserveclient Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 2.0 927 KB

Statistics--RserveClient is a CPAN perl module allowing perl clients to communicate with Rserve, an open-source compute server for the R statistical platform.

License: Other

Perl 94.12% Shell 1.69% PHP 4.19%

statistics--rserveclient's People

Contributors

aixtal avatar cubranic avatar djun-kim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

statistics--rserveclient's Issues

$VERSION variable used by CPAN is not correctly set in release-CPAN-0.02

The ExtUtils::ModuleMaker packaging uses some magic to automatically set a VERSION number, used by CPAN. The default setup extracts the value of this from a source file.

This value was not updated for release-CPAN-0.02.

Moreover, it is painful to auto-update this variable in a release script.

Why do we need v5.12? Is 5.10.1 good enough?

We require v5.12 in our code. However, it seems 5.12 is not so common in the wild. Ubuntu Server 10.04 LTS runs 5.10.1, for example.

We use the 'given' statement, which is new as of 5.10.1, so that seems like a minimum to specify. Are there other features that require a more recent version?

Parse R lists

Evaluating list(1, 'a') will currently put the parser into an infinite loop.

Error reporting is not working at all.

First of all, getErrorMessage() is not implemented, so throwing an Exception doesn't really work.

Second, I can't really see this approach working for a number of applications. I think error handling needs to be rethought.

Example in synopsis doesn't work

The example given in the synopsis doesn't work:

use Statistics::RserveClient;

my $cnx = new Statistics::RserveClient::Connection($server);
my @result = $cnx->evalString("x='Hello, world!'; x");

It fails with error message:

Can't locate object method "new" via package "Statistics::RserveClient::Connection" (perhaps you forgot to load "Statistics::RserveClient::Connection"?) at ./rs.pl line 6.

The first line should read:

use Statistics::RserveClient::Connection;

as given in the Usage section.

Can't locate object method "getErrorMessage"

When something goes wrong, it seems the getErrorMessage method can't be found.

Can't locate object method "getErrorMessage" via package "Statistics::RserveClient::Exception=HASH(0xe110ccc)
   Died within Statistics::RserveClient::Connection::new called at line 50 of (eval 2241)
   from within main::rserve_start called at line 44 of (eval 2042)
" (perhaps you forgot to load "Statistics::RserveClient::Exception=HASH(0xe110ccc)
   Died within Statistics::RserveClient::Connection::new called at line 50 of (eval 2241)
   from within main::rserve_start called at line 44 of (eval 2042)
"?) at /usr/lib/perl5/site_perl/5.8.8/Statistics/RserveClient/Connection.pm line 248

To replicate this, you can change the R host to something invalid or non-existing in RservClient.pl and it will fail the connection and throw out this message.

R logicals are parsed as 'TRUE' and 'FALSE' strings

Failed unit test:


lib$ prove -r ../t/Rserve/testEvalDataTypes.t 
../t/Rserve/testEvalDataTypes.t .. 1/12 
#   Failed test 'scalar TRUE value'
#   at ../t/Rserve/testEvalDataTypes.t line 19.
#     Structures begin differing at:
#          $got->[0] = 'TRUE'
#     $expected->[0] = '1'
# TRUE

#   Failed test 'scalar FALSE value'
#   at ../t/Rserve/testEvalDataTypes.t line 24.
#     Structures begin differing at:
#          $got->[0] = 'FALSE'
#     $expected->[0] = '0'
# FALSE

#   Failed test 'boolean array'
#   at ../t/Rserve/testEvalDataTypes.t line 29.
#     Structures begin differing at:
#          $got->[0] = 'TRUE'
#     $expected->[0] = '1'
# TRUEFALSE
# Looks like you failed 3 tests of 12.

can't open debug log: No such file or directory

I'm getting the following error just by use-ing Statistics::RserveClient::Connection:

can't open debug log: No such file or directory

I'm running under Windows (not by choice), and the problem appears to be that you're not defining a platform-independent debug log file in RserveClient.pm:135:

use constant DebugLogfile => "/tmp/rserve-debug.log";

Rename this project to RserveClient

The present name is a bit awkward, excessively descriptive on one hand and not clear on the other. This should be done before other developers (if any are interested) become involved.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.