[Rd] Infinite recursion in getGeneric (PR#4561)

John Chambers jmc at research.bell-labs.com
Mon Oct 13 23:52:05 MEST 2003


Saikat DebRoy wrote:
> 
> On Monday, Oct 13, 2003, at 16:17 US/Eastern, John Chambers wrote:
> 
> > As a heuristic, setting methods for language-related primitives is
> > dangerous (also a little strange?).
> 
> Yes. But if it is allowed, someone will do it. It may actually make
> sense to come up with an appropriate (and preferably small) list of
> primitive functions and say that you can not define methods for them
> (at least easily).

If we're talking about r-devel, not r-patched, we can do better.  The
inherent problem is that a global table is used for dispatching methods
for primitives.  For 1.9, the plan is to replace this with more-or-less
real generic functions  (the less part is that the version of is.logical
the evaluator calls will still be a primitive; the generic will be found
by another mechanism).  Once methods are dispatched from valid generic
functions, then a call to is.logical within method dispatch will be
unaffected by methods defined for is.logical in another namespace.

As for r-patched, it would be easy to prohibit methods for those that
generate infinite loops, if we knew which ones they were.

John



More information about the R-devel mailing list