From ripley@stats.ox.ac.uk  Thu Sep 13 18:38:28 2001
From: ripley@stats.ox.ac.uk (Prof Brian D Ripley)
Date: Thu, 13 Sep 2001 18:38:28 +0100 (BST)
Subject: [Rd] SV4 on R?
In-Reply-To: <3BA0E6CF.C443E84C@virginia.edu>
Message-ID: <Pine.GSO.4.31.0109131831030.27843-100000@auk.stats>

On Thu, 13 Sep 2001, Frank E Harrell Jr wrote:

> Dear R-Developers,
>
> The traffic today on s-news where Terry Therneau, I, and others
> are reporting some of the problems we have had using or
> converting applications to SV4 reminded me of something
> Duncan Temple Lang had mentioned to me a year ago that
> I wanted to follow up on.  I recall that Duncan said either that if SV4
> were to be implemented in R that it would not be
> the default behavior, or that through an option the
> new behavior could be turned off.  Would you mind
> bringing me up to date on this?  I sincerely hope
> that what I thought Duncan said last year still
> applies.  Thank you very much for your consideration.  -Frank


There are lots of aspects of S4 behaviour.  Some R already has
(connections, preserving logicals in data frames, for example).  I guess
you are concerned about classes. There I don't think a decision has been
taken.  There is a `methods' package in R-devel, written by John Chambers
that is not yet finished (or I believe so, as it is being changed quite
rapidly and is only partially documented).  What is likely is that in R
1.4.0 all objects will have classes, and that functions like identical(),
as() and is() will be available.  So far this has caused only a few
problems, mainly because there are not problems like the "named" class
presents in S4. (Bit of background: any vector with names in S4 is of class
"named", and that includes lists with names.)

Assuming we decide to keep it I don't expect that all objects will have a
class is not going to be optional.  You will get classes like "numeric"
from class(x).  I think that's a good move.  It does mean that a test for
null class should be a test of !is.object(x), probably.

I do think you and Terry and others are being too negative. The problems
are not with designing new S4 classes to do the job, but porting S3 ones.
I believe too few people have tried to re-design to make use of S4 classes
for there to be enough evidence.  FWIW, MASS and nnet have been using
S4 classes for a few years quite sucessfully: we re-designed the classes.
We stopped because no one else seemed to be moving, and the basic modelling
functions are still confined to S3-style objects.


Brian

-- 
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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


[Rd] SV4 on R?
Prof Brian D Ripley