On 29 November 2017 at 21:45, Hervé Pagès <hpa...@fredhutch.org> wrote: > You're missing the point of my original post. Which is that > there is a serious inconsistency between the unary and binary > forms of is(). Maybe the binary form is right in case of
My understanding is that there is no inconsistency. `is` does what it claims, from the documentation: ‘is’: With two arguments, tests whether ‘object’ can be treated as from ‘class2’. With one argument, returns all the super-classes of this object's class. Important verb there is 'can be treated as from' with two arguments. So, one can not treat `data.frame` as from 'list' class in a simple sense, even though it inherits from list. The complication is that list is a Primitive and this is not coming from a clean S4 hierarchy c.f, your A, B example. Also, strictly speaking, having super-classes resolved does not automatically qualify an assumption that the object can be treated as a class of one of its super-classes. Cheers, Mehmet ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel