Changes were committed today to the r-devel version of R to make S4 and S3 classes (and abnormal object types such as "environment") work together more consistently.

Basically, S4 classes can now contain any S3 class or object type, and should now inherit S3 methods for these. Also, the main practical problem with defining S3 methods for other S4 classes (namely, that S4 inheritance was not recognized) has been fixed, to the extent possible.

See ?Methods (especially the section on S3 methods). For details (there are quite a few) see the paper referenced there,
 http://stat.stanford.edu/~jmc4/classInheritance.pdf

Since these changes arguably fix design flaws, I would like to see them in 2.9.1, so please test them out. For the moment, they are only in the r-devel version.

There can be changes to current behavior. For example, I found one regression test for S4 methods that only worked because an apparent S3 method, sort.list, was NOT inherited by an S4 class that contained "list".

John

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to