Re: [Rd] binary form of is() contradicts its unary form

2017-11-30 Thread Suzen, Mehmet
On 30 November 2017 at 16:30, Iñaki Úcar wrote: > If you really believe that references should be needed to know what to > expect from a function call, then we work with different definitions A behaviour of a function call might be quite complex depending on the arguments

Re: [Rd] binary form of is() contradicts its unary form

2017-11-30 Thread Iñaki Úcar
2017-11-30 15:54 GMT+01:00 Suzen, Mehmet : > > > On 30 Nov 2017 14:32, "Iñaki Úcar" wrote: > >>> >>> Am I supposed to read every reference on a man page just to know what >>> to expect from a function? >>> >> >> If the reference is from John Chamber,

Re: [Rd] binary form of is() contradicts its unary form

2017-11-30 Thread Suzen, Mehmet
On 30 Nov 2017 14:32, "Iñaki Úcar" wrote: >> >> Am I supposed to read every reference on a man page just to know what >> to expect from a function? >> > > If the reference is from John Chamber, you are supposed to read it. As a joke, it's funny. Not a joke. John Chambers

Re: [Rd] binary form of is() contradicts its unary form

2017-11-30 Thread Martin Maechler
> Iñaki Úcar > on Thu, 30 Nov 2017 14:32:12 +0100 writes: > 2017-11-30 14:13 GMT+01:00 Suzen, Mehmet : >> On 30 November 2017 at 14:04, Iñaki Úcar wrote: >>> >>> Am I supposed to read every reference on

Re: [Rd] binary form of is() contradicts its unary form

2017-11-30 Thread Iñaki Úcar
2017-11-30 14:13 GMT+01:00 Suzen, Mehmet : > On 30 November 2017 at 14:04, Iñaki Úcar wrote: >> >> Am I supposed to read every reference on a man page just to know what >> to expect from a function? >> > > If the reference is from John Chamber, you are

Re: [Rd] binary form of is() contradicts its unary form

2017-11-30 Thread Suzen, Mehmet
On 30 November 2017 at 14:04, Iñaki Úcar wrote: > > Am I supposed to read every reference on a man page just to know what > to expect from a function? > If the reference is from John Chamber, you are supposed to read it. It is not always possible for maintainers to document

Re: [Rd] binary form of is() contradicts its unary form

2017-11-30 Thread Iñaki Úcar
2017-11-30 13:26 GMT+01:00 Suzen, Mehmet : > On 30 November 2017 at 11:37, Iñaki Úcar wrote: >> 2017-11-30 3:14 GMT+01:00 Suzen, Mehmet : >>> My understanding is that there is no inconsistency. `is` does what it >>> claims, from

Re: [Rd] binary form of is() contradicts its unary form

2017-11-30 Thread Suzen, Mehmet
On 30 November 2017 at 11:37, Iñaki Úcar wrote: > 2017-11-30 3:14 GMT+01:00 Suzen, Mehmet : >> My understanding is that there is no inconsistency. `is` does what it >> claims, from the documentation: >> >> ‘is’: With two arguments, tests whether

Re: [Rd] binary form of is() contradicts its unary form

2017-11-30 Thread Iñaki Úcar
2017-11-30 3:14 GMT+01:00 Suzen, Mehmet : > 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

Re: [Rd] binary form of is() contradicts its unary form

2017-11-29 Thread Suzen, Mehmet
On 29 November 2017 at 21:45, Hervé Pagès 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

Re: [Rd] binary form of is() contradicts its unary form

2017-11-29 Thread Hervé Pagès
Yes, data.frame is not an S4 class but is(data.frame()) finds its super-classes anyway and without the need to wrap it in asS4(). And "list' is one of the super-classes. Then is(data.frame(), "list") contradicts this. I'm not asking for a workaround. I already have one with 'class2 %in%

Re: [Rd] binary form of is() contradicts its unary form

2017-11-29 Thread Suzen, Mehmet
Hi Herve, Interesting observation with `setClass` but it is for S4. It looks like `data.frame()` is not an S4 class. > isS4(data.frame()) [1] FALSE And in your case this might help: > is(asS4(data.frame()), "list") [1] TRUE Looks like `is` is designed for S4 classes, I am not entirely sure.

Re: [Rd] binary form of is() contradicts its unary form

2017-11-29 Thread Hervé Pagès
Hi Mehmet, On 11/29/2017 11:22 AM, Suzen, Mehmet wrote: Hi Herve, I think you are confusing subclasses and classes. There is no contradiction. `is` documentation is very clear: `With one argument, returns all the super-classes of this object's class.` Yes that's indeed very clear. So if

Re: [Rd] binary form of is() contradicts its unary form

2017-11-29 Thread Suzen, Mehmet
Hi Herve, I think you are confusing subclasses and classes. There is no contradiction. `is` documentation is very clear: `With one argument, returns all the super-classes of this object's class.` Note that object class is always `data.frame` here, check: > class(data.frame()) [1] "data.frame"

[Rd] binary form of is() contradicts its unary form

2017-11-29 Thread Hervé Pagès
Hi, The unary forms of is() and extends() report that data.frame extends list, oldClass, and vector: > is(data.frame()) [1] "data.frame" "list" "oldClass" "vector" > extends("data.frame") [1] "data.frame" "list" "oldClass" "vector" However, the binary form of is()