From hadley at rice.edu  Mon Aug 29 14:20:00 2011
From: hadley at rice.edu (Hadley Wickham)
Date: Mon, 29 Aug 2011 07:20:00 -0500
Subject: [Rd] S3 methods in default namespace
In-Reply-To: <4E5A5DEB.6080701@statistik.tu-dortmund.de>
References: <CAOQ5Nyd8bWX7Vh=Y5dXPAPLR3JVpu07XQw1=+sdWnbMebW_QuQ@mail.gmail.com>
	<4E592854.9010508@statistik.tu-dortmund.de>
	<CABdHhvEDe6CmKW2Jh+7wpX+pU_KL_wXOnTS5xDJM3FBVCRujrw@mail.gmail.com>
	<4E5A5DEB.6080701@statistik.tu-dortmund.de>
Message-ID: <CABdHhvEmpotLWD+kSi6SHvhr3Bcoutpx7zJVsRbUYk6DbzZT8Q@mail.gmail.com>

>> So doesn't that break packages that use S3 but don't have a NAMESPACE?
>
> Maybe, but since the methods are exported as functions they are also found
> for method dispatch and imported, if another package imports from the
> Namspace. The problem I see is what happens if method dispatch is done on a
> package that is not attached but just the Namespace is only loaded.
>
> Anyway, we should really recommend that package authors write NAMESPACE
> files in case their packages are not trivial.
> Note that there are many CRAN packages that fail under R-devel, some of them
> sue to NAMESPACE issues.

I'm not sure I understand the approach of providing a default
NAMESPACE.  Why not just make it a requirement to pass R CMD check?
That seems like it would be a safer approach, although it would create
some work for people who have not yet started using namespaces.

Hadley


-- 
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/



[Rd] S3 methods in default namespace
Hadley Wickham