From romain at r-enthusiasts.com  Sun May 30 18:50:56 2010
From: romain at r-enthusiasts.com (Romain Francois)
Date: Sun, 30 May 2010 18:50:56 +0200
Subject: [Rd] require( "foo (>= 2.1)" )
In-Reply-To: <4C025EBC.804@embl.de>
References: <4BFFFCA2.60201@r-enthusiasts.com> <4C025EBC.804@embl.de>
Message-ID: <4C029770.2070707@r-enthusiasts.com>

Hi,

Sure. I could and I would provide a patch. Since this is more of a "nice 
to have", I wanted to first find out whether others would find it 
useful, and also if such a patch would have chances to get accepted by 
one of R-core members.

Sometimes patches I or others provide upfront are not accepted. I'm not 
complaining about it, it is always an opportunity to learn something ...

Romain

Le 30/05/10 14:49, Wolfgang Huber a ?crit :
>
> Hi Romain,
>
> not that I have any authority here, but wouldn't your suggestion (which
> I think could be very useful) be more powerful if it were accompanied by
> a patch that could be applied to the R sources?
>
> Best wishes
> Wolfgang Huber
> EMBL
> http://www.embl.de/research/units/genome_biology/huber
>
>
>
>
> On 28/05/10 19:25, Romain Francois wrote:
>> Hello,
>>
>> I often find myself writing code like :
>>
>> if( require( "foo" ) && compareVersion( packageDescription(
>> "foo")[["Version"]], "2.1" ) < 0 ){
>>
>> # code that uses version 2.1 of foo
>> } else {
>> stop( "could not load version >= 2.1 of foo" )
>> }
>>
>>
>>
>> Would it make sense to include something like this in require, library,
>> etc ...
>>
>> require( "foo (>= 2.1)" )
>> require( "foo", minimal.version = "2.1" )
>>
>> I know we can use Depends: foo (>= 2.1) in a package DESCRIPTION file,
>> but that does not work for loose dependencies, when package "bar" works
>> better with "foo" but can still work fine without, or when not making a
>> package.
>>
>> Romain


-- 
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30
http://romainfrancois.blog.free.fr
|- http://bit.ly/99bz5D : highlight 0.1-9
|- http://bit.ly/9CQ66r : RMetrics 2010
`- http://bit.ly/bklUXt : RcppArmadillo 0.2.1





[Rd] require( "foo (>= 2.1)" )
Romain Francois