R-alpha: Re: R

Paul Gilbert (pgilbert@bank-banque-canada.ca)
Mon, 25 Mar 1996 12:55:46 -0500

Date: Mon, 25 Mar 1996 12:55:46 -0500
From: pgilbert@bank-banque-canada.ca (Paul Gilbert)
To: R-testers@stat.math.ethz.ch
Subject: R-alpha: Re: R
Message-Id: <96Mar25.124944est.29442@mailgate.bank-banque-canada.ca>

I compiled and installed R under Linux on the weekend. It went very
smoothly, but I didn't yet try to install my time series software under

Under Solaris, I am trying to work around the previously mentioned
(bounced but re-circulated message) problem with source by adding my
files into the rrc directory and modifying the rrc Makefile:

cat abline ... zzcolors STARTUP dse1a.s dse1b.s dse1c.s dse1d.s |
   sed 's/#.*//' > ../../library/core

The make appears to work but when I start R I get a memory exhausted
problem. I'm not sure if this is a reasonable way to try and work
around the source problem (eg the abline ... zzcolors seem to use :=
for defining functions). If I only load a couple of the files this way
I can avoid the memory problem, but it seems that not everything gets
loaded (ie. some functions are missing from the files which I load) and
I don't get any error messages.  Other suggestions or a fix to source
would be appreciated.  Starting R with the -v option does seem to try
to allocate more heap (at least it bombs if I try to do it on a machine
without enough memory) but I seem to get the error at exactly the same
point whether -v is the default, -v20, or -v80:

[146] /R/src/rrc-dse : $RHOME/bin/R -v80
R : Copyright (c) 1995-1996, Robert Gentleman and Ross Ihaka
Version 0.3 Alpha, (Released: Mar 22, 1996)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type `license()' for details.
Error: memory exhausted
>  strt <- c(st %/% freq, st %% freq)
Error: syntax error

>What we could do simply (i.e. for 0.4) is assume either a yes or no
>response do the "Do you want to save your data?" question if an EOF
>happens.  Should the assumed response be "yes" or "no".

"yes" would be consistent with S, which would make it easier for me to
provide the same  install procedure for both S and R.

I like Martin Maechler's suggestion
	q <- function(save = "ask")  where save can be 'yes',  'no', 
and  'ask' but I would prefer a default save=T, at least for file
input, for the above reason.

In general, for situations where there is a choice, I would strongly
suggest that R try to be consistent with S, or at least try to arrange
the there is a simple way to make it so that most code which runs under
S also runs under R. At this point I would have a lot of trouble
maintaining two versions of my code.

Also, a variable like Splus "version":
> version
Version 3.3 Release 1 for Sun SPARC, SunOS 5.3 : 1995 
> summary.default(version)
           Length Class      Mode 
  platform 1            character
      arch 1            character
        os 1            character
    system 1            character
    status 1            character
status.rev 1            numeric  
     major 1            numeric  
     minor 1            numeric  
      year 1            numeric   

would be useful, especially if it could be used to distinguish R from S
(or perhaps there is already a good way I don't know about).

>"make -p" prints out the rules in the Makefile.  Our solution (which
is traditional) prints the error message but ignores the error.

Thanks for pointing out that make -p is platform specific. I've used it
in makefiles for some other software. How about trying to define MKDIR
in the system specific configuration file? But I can live with the
error/ignored message.


>what's INTPR
INTPR, DBLEPR, and DBLEPR are not really fortran, but are entry points
provide in Splus to print output to standard out, since Splus doesn't
like fortran IO. These are mainly useful for debugging purposes. I'm
not suggesting that they are essential, but if there where dummy entry
points I wouldn't have to maintain two versions of my fortran. The
syntax is:

        CALL  INTPR("string",N,M,P)
        CALL DBLEPR("string",N,D,P)
        CALL REALPR("string",N,R,P)

where N is the length of the string, M,D,and R are integer, double
precision and real, respectively, and P is the number of elements is M,
D or R.

>(PS:  For future reference -- is it Gill-burt or Jill-bear?).
Gill-burt, but I answer to both.
r-testers mailing list -- To (un)subscribe, send
subscribe	or	unsubscribe
(in the "body", not the subject !)  To: r-testers-request@stat.math.ethz.ch