On Thu, 17 May 2007, Seth Falcon wrote: > Bill Dunlap <[EMAIL PROTECTED]> writes: >> This sounds interesting. Do you intend to leave the $ >> operator alone, so it will continue to do partial >> matching? I suspect that that is where the majority >> of partial matching for list names is done. > > The current proposal will not touch $. I agree that most intentional > partial matching uses $ (hopefully only during interactive sessions). > The main benefit of the our proposed change is more reliable package > code. For long lists and certain patterns of use, there are also > performance benefits: > > > kk <- paste("abc", 1:(1e6), sep="") > > vv = as.list(1:(1e6)) > > names(vv) = kk > > > system.time(vv[["fooo", exact=FALSE]]) > user system elapsed > 0.074 0.000 0.074 > > > system.time(vv[["fooo", exact=TRUE]]) > user system elapsed > 0.042 0.000 0.042 > > >> It might be nice to have an option that made x$partial warn so we >> would fix code that relied on partial matching, but that is lower >> priority. > > I think that could be useful as well. To digress a bit further in > discussing $... I think the argument that partial matching is > desirable because it saves typing during interactive sessions now has > a lot less weight. The recent integration of the completion code > gives less typing and complete names.
There is a similar issue with argument partial matching. Since we have the source of R one can pretty easily build a version of R which does not have the feature: I have been doing that in conjunction with 'codetools' to do some checking. In both cases there is traditional partial matching: seq(along=) or seq(length=), and $fitted vs $fitted.values. There are not many uses of seq(along.with=) about and vastly more of seq(along=) (although in R using seq_along() is preferable): even in some packages which do use seq(along.with=) there are more instances of seq(along=). -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel