[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