The R Project SVN R

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
52864 5807 d 16 h urbaneks /branches/R-exp-R5/ Experinental branch implementing "R5" ideas - extending S language to
create a more intuitive object system
 
52266 5888 d 10 h jmc /trunk/ make S3 method dispatch use consistent S4 inheritance  
50609 6084 d 7 h jmc /trunk/ Changes to fix efficiency in dispatch, potential recursive loops, and
incorrect signatures, all for S4 methods for primitive functions.

1. A bug in get_primitive_methods prevented all quick dispatch of primitives from
working. Fixing this exposed a problem in quickDispatch in methods
that prevented matching methods with traiiling "missing" in the
signature.

2. A mechanism was added to temporarily turn off all dispatch of methods for
primitives. The code for findInheritedMethods activates the
mechanism. At the moment, this is just for efficiency, but in
principle it could be needed to avoid recursive calls to
findInheritedMethods.

3. The signatures for "$" and "$<-" were modified to remove "name",
since the grammar prevents general objects for this argument.

Some additional changes were tested but not installed to allow a
general signature in methods for "[", "[[" and their replacement
versions. Problems found with the Matrix package for this change. See
the commented calls to DiispatchAnyOrEval in src/main.
 
49567 6170 d 9 h ripley /trunk/src/library/ change unnecessary use of \link[pkg]  
48093 6349 d 13 h ripley /trunk/src/library/base/man/ codoc warning  
48062 6352 d 10 h jmc /trunk/ S4 objects converted for S3 methods; class nonStructure  
46713 6495 d 18 h murdoch /trunk/src/library/base/man/ add S4 alias  
44192 6756 d 14 h rgentlem /trunk/src/library/base/man/ minor tweaks to the man page, added a link to is.object  
44156 6758 d 10 h ripley /trunk/src/library/base/man/ add a bit more info  
42333 6940 d 22 h ripley /trunk/src/library/ add copyright/licence header
remove CVS-style $Id fields
 
41250 7039 d 1 h ripley /trunk/src/ tidy up  
40223 7162 d 1 h ripley /trunk/ asS4 does use methods pace the earlier documentation, and was corrupting
the no-segfault tests (so is now excluded).
 
39077 7267 d 17 h jmc /trunk/ introduce S4 object bit and document it