From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id LAA26386; Fri, 24 Aug 2001 11:25:12 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id LAA26279 for ; Fri, 24 Aug 2001 11:25:11 +0200 (MET DST) Received: from dpt-info.u-strasbg.fr (dpt-info.u-strasbg.fr [130.79.44.193]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id f7O9O2n18914 for ; Fri, 24 Aug 2001 11:24:02 +0200 (MET DST) Received: (from luther@localhost) by dpt-info.u-strasbg.fr (8.9.3/8.9.3) id LAA07287; Fri, 24 Aug 2001 11:23:55 +0200 Date: Fri, 24 Aug 2001 11:23:55 +0200 From: Sven To: Gerd Stolpmann Cc: bcpierce@cis.upenn.edu, "Benjamin C. Pierce" , Brian Rogoff , caml-list@inria.fr Subject: Re: [Caml-list] standard regex package Message-ID: <20010824112355.B6986@dpt-info.u-strasbg.fr> References: <3750.998602056@saul.cis.upenn.edu> <01082400035105.02716@ice> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0.1i In-Reply-To: <01082400035105.02716@ice>; from info@gerd-stolpmann.de on Thu, Aug 23, 2001 at 11:49:50PM +0200 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk 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