Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: [Caml-list] standard regex package
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Sven <luther@d...>
Subject: Re: [Caml-list] standard regex package
On Thu, Aug 23, 2001 at 11:49:50PM +0200, Gerd Stolpmann wrote:
> On Thu, 23 Aug 2001, Benjamin C. Pierce wrote:
> >> For those who don't know: You can
> >> install almost every 3rd party Perl package by simply doing
> >> 
> >> perl Makefile.pl
> >> make
> >> make test
> >> make install
> >> 
> >> It is simple to do, and that's an important aspect of the success of Perl (a
> >> language which is nothing without CPAN).
> >
> >Having just spent 90 minutes last weekend trying to get a PERL package
> >installed and working, I can say with confidence that PERL's standard
> >installation procedure, while slick, leaves one big thing to be desired:
> >following dependencies.  The problem with the "CPAN way" is that it leads
> >to 10,000 people writing cool little packages, all of which depend on ten
> >other cool little packages written by somebody else, etc., etc.
> >Following all these dependency chains manually by trying to install one
> >package, failing, grepping around in CPAN for the ones it depends on,
> >downloading them, trying to install, failing, ... is a pretty boring way
> >to spend a morning.
> >
> >I really wish that I'd been able to say to some tool, "I want to use
> >module X; please go off to CPAN and find, download, and install me the
> >current versions of X and all the modules it transitively depends on."  I
> >know that it would be reallyreally hard to design a framework that would
> >always do the right thing, but if it did the right thing 99% of the time
> >and gave me a type error in 99% of the cases where it did not do the
> >right thing, it would be fantastic (and I believe both of these numbers
> >would be rather easy to achieve by low-tech means).
> 
> The CPAN module does it; see perldoc CPAN.
> 
> For O'Caml the corresponding functionality would be much harder because
> of possible version conflicts. Say you have packages A and B already installed,
> and A depends on B. Furthermore, you want to install package C, but package C
> requires the new version B'. For Perl, this is less dramatic than it seems to
> be because everything is dynamic, and the packages can themselves cope with
> version conflicts. For Caml, a clever automatic installer must decide:
> 
> - Does the already installed package A work with the new version B'? If yes, 
>   is it necessary to recompile package A?
> 
> - If package A must be renewed, too: Is there a version A' that works with B'?
> 
> - If there are other packages that depend on A: Is it necessary to
>   recompile/relink them?
> 
> Because these questions are difficult, findlib does not include versioned
> dependencies (but it includes versions as such, and dependencies as such). So
> it requires still an intelligent operator that helps finding the right versions.
> 
> One feature that should be added is automatic recompilation of dependent
> packages (from known sources).

Also a way to export the dependencies in a string format, and be able to turn
all this stuff of in the case your OS/distribution/whatever already handles
this would be nice too.

Friendly,

Sven Luther
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr