[Phylobase-devl] Conference call minutes

Hilmar Lapp hlapp at duke.edu
Sun Mar 23 22:14:00 CET 2008


On Mar 23, 2008, at 6:07 PM, Ben Bolker wrote:
> Hilmar Lapp wrote:
>> On Mar 22, 2008, at 2:56 PM, Peter Cowan wrote:
>>> ancestors(..., which = c("all", "parent")) # default to "all"  
>>> since ancestor() exists
>>>
>>> descendants(..., which = c("children", "tips", "all")) # first  
>>> option calls children()
>> Does that mean the default for descendants() is which="children",  
>> meaning only direct children? Isn't that inconsistent with the  
>> default of ancestors()?
>>     -hilmar
>
>   Yes, it is.
>   The problem is that I think people will frequently want to access  
> direct ancestors and descendants (parents/children).  "ancestor" is
> a nice short term for "only direct ancestors", because there is by
> definition only one of them.

For reticulating "trees" that's actually not true (though phylo4  
might expressly prohibit reticulating trees; but even if it does, it  
may still be better to be prepared for a future extension that doesn't).

> There are (usually) multiple descendants,
> so this shortcut doesn't work for descendants.
>
>   (1) we could leave it this way (too confusing?)

I think anything that wouldn't provide for a default that's  
consistent between the two is going to result in a gotcha for users.  
I'm a fan of the principle of least surprise, and inconsistent  
defaults I would think will be a surprise for many.

>   (2) we could switch the default to "tips" (probably the second
> most common request)

But that's also not consistent with the "all" default of ancestors().

Just my $0.02.

	-hilmar

> , and indicate that children() is available if
> one wants a shortcut for descendants(tree,which="children")
>
>   votes?
>
>   Ben
>

-- 
===========================================================
: Hilmar Lapp  -:-  Durham, NC  -:- hlapp at duke dot edu :
===========================================================






More information about the Phylobase-devl mailing list