[Rd] syskern

Prof Brian D Ripley ripley@stats.ox.ac.uk
Thu, 8 Mar 2001 07:00:48 +0000 (GMT)

On Wed, 7 Mar 2001, Paul Gilbert wrote:

> The bug list summary reported an error in syskern which I finally
> realized is due to a badly chosen example in the help rather an error in
> the code.

It fails Rcmd check as a result. It also reports incorrect results
on Windows.

> However, I have taken the opportunity to re-evaluate  what I
> have been trying to do with syskern, since some parts may no longer be
> important. Since syskern was intended to address certain problems in
> package development I would appreciate other opinions on whether these
> are still concerns.
> The package provides a standardized way to deal with some programming
> differences between R and S (e.g. is.R() and is.S() ) and their various
> versions (e.g. is.Rpre1.2() and is.Rpre0.60() - yes this is old but you
> get the point), and also standardized ways to identify  different
> operating systems in order for a program to take any operating system
> specific action.  Dealing with the  R and S differences I think is still
> fairly important although I can no doubt abandon some versions. However,
> R has now evolved to the point where it actually deals with most of the
> operating system differences (at least the ones that there is much hope
> of dealing with).

You might want to use the SLanguage package to cover over R/S differences
(although often the code can be written to work on either).

> My main use of the operating system determination has been with Splus to
> distinguish Sun4, Sun5, and MSwindow in order to load the appropriate
> compiled code. I don't think this is an issue in R, but I haven't tried
> to load a windows dll so I don't really know. The point of the syskern

Not an issue with R, and also not an issue in S-PLUS for at least five
years (use dyn.load.lib in S-PLUS 3.4/4.x/2000, nothing in 5.0/5.1/6.0 as
compiled code is loaded automatically).

> code is to have a function is.Sun5() that works in R and in S and looks
> after the fact that the R code needed to figure this out is different
> from the S code needed to figure this out. These examples may be relics
> but there is a possibility new variants will appear. So the question
> then is: Are there still needs for an R (or S) program to use (rather
> than just report) information about the operating system it is running
> on?

Very little in my experience, and what is needed is in .Platform and

As Fritz Leisch point out recently, the package sources on CRAN are for all
platforms, and should work equally on Unix, Linux, Windows and Macintosh.
Bundle dse is the only exception I know of.

Brian D. Ripley,                  ripley@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272860 (secr)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch