On 06/15/2014 07:34 AM, Michael Lawrence wrote:
Hi guys,

Was just checking out GenomicFiles and was a little surprised that the
arguments to the REDUCER are different depending on iterate=TRUE vs.
iterate=FALSE. In my often flawed opinion, iteration should not be a
concern of the REDUCER. It should be oblivious to the iteration mode. In
other words, when iterate=TRUE, it is a special case of having two objects
to combine, instead of multiple.

My 'rationale' was that one would choose iterate=FALSE when one required all elements to perform the reduction. I thought of the list (rather than ...) as the general R data structure for representing N elements, with a special case (consistent with Reduce) made for the pairwise reduction of iterate=TRUE. Either way, the two cases (x, y vs. list(), x, y vs. ...) seem to require some explaining to the user. Is there a clear better choice? You're the second person to trip over this, so I guess there's a crack in the sidewalk...

Martin


What would be convenient (but unnecessary) is to detect from the formal
arguments whether REDUCER is variadic or list-based. In other words, if
REDUCER is defined like function(...) { } it is called via do.call(),
otherwise it is passed the list.

Thoughts? Maybe I'm totally confused?

Michael

        [[alternative HTML version deleted]]

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel



--
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109

Location: Arnold Building M1 B861
Phone: (206) 667-2793

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to