caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Richard Jones <rich@annexia.org>
To: rixed@happyleptic.org
Cc: caml-list@yquem.inria.fr
Subject: What is CPAN? (was: Re: [Caml-list] Hoogle for Ocaml)
Date: Thu, 3 Dec 2009 18:00:36 +0000	[thread overview]
Message-ID: <20091203180036.GA17732@annexia.org> (raw)
In-Reply-To: <20091203165100.GA17415@fp-desktop.fr.evistel.com>

On Thu, Dec 03, 2009 at 05:51:00PM +0100, rixed@happyleptic.org wrote:
> > Not really ..  I have been meaning for several years to implement
> > something like *CPAN* for OCaml.  CPAN is much more than what people
> > here seem to think it is.
> 
> Out of curiosity, what's in CPAN that's not in GODI ?

OK, I knew I'd have to answer this question :-)

CPAN is:

(1) A network of redundant mirrors which means you can always get the
tarball you need, even when the original site is down:

http://mirrors.geoexpat.com/cpan/authors/id/R/RW/RWMJ/
http://mirror.unej.ac.id/cpan/authors/id/R/RW/RWMJ/
http://mirrors.ucr.ac.cr/CPAN/authors/id/R/RW/RWMJ/
(more: http://search.cpan.org/mirror)

(2) CPAN unpacks each tarball and makes the source and documentation
available in a browsable way:

http://search.cpan.org/~rwmj/Net-FTPServer-1.122/lib/Net/FTPServer.pm
http://cpansearch.perl.org/src/RWMJ/Net-FTPServer-1.122/lib/Net/FTPServer.pm

(3) An excellent search tool:

http://search.cpan.org/search?query=IO%3A%3Astringy&mode=all

(4) A central namespace registry for Perl modules.  Once someone has
the name 'Net::FTPServer', if you want to write an FTP server, you
know you need to give it a different name.

(5) A testing network.  When you submit a new version of your module,
it is picked up by automated and manual testers around the world, who
build and test it on their systems (often oddball ones - eg. I get
reports about it failing to build on SunOS and AIX).

(6) A place where you can browse everything that Perl supports:

http://www.cpan.org/modules/by-module/
http://www.cpan.org/modules/01modules.index.html

Which is great advertising for Perl, because you can immediately
see the breadth of available libraries for Perl.

(7) A command line tool to download and install CPAN modules:

http://search.cpan.org/~andk/CPAN-1.9402/lib/CPAN.pm#DESCRIPTION

-- Note what CPAN is *not*:

It's not a packaging system.  Perl has its own packaging standard(s)
(like cabal for Haskell), but CPAN doesn't care.  It hosts source
tarballs.

It doesn't store binaries.

It's not strongly centralized.  Actually, it's very loose indeed.
Although there is a central place where you upload modules, they are
very loose about naming, content, licensing etc. (within limits of
course).

--

> Out of curiosity, what's in CPAN that's not in GODI ?

I think that Gerd Stolpmann has (to his credit) done a lot of the work
that CPAN does, but I also think it should be on a firmer footing,
mirrored more widely, the search tools should be linked from the OCaml
home page, and not tied to building modules, but to hosting source
tarballs.  And more inclusive - it should include *every* source
tarball -- as much OCaml source as possible.

Rich.

-- 
Richard Jones
Red Hat


  reply	other threads:[~2009-12-03 18:00 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-03 16:08 Hoogle for Ocaml Matthias Görgens
2009-12-03 16:17 ` [Caml-list] " Richard Jones
2009-12-03 16:51   ` rixed
2009-12-03 18:00     ` Richard Jones [this message]
2009-12-03 19:40       ` What is CPAN? (was: Re: [Caml-list] Hoogle for Ocaml) Gerd Stolpmann
2009-12-03 21:21         ` rixed
2009-12-04  0:11           ` Gerd Stolpmann
2009-12-04  0:57           ` What is CPAN? (was: " Sylvain Le Gall
2009-12-04  9:28             ` [Caml-list] " rixed
2009-12-04  9:42           ` What is CPAN? (was: Re: [Caml-list] " Philippe Veber
2009-12-03 16:31 ` [Caml-list] Hoogle for Ocaml Tom Hutchinson
2009-12-03 18:45   ` Matthias Görgens
2009-12-03 19:23     ` Gerd Stolpmann
2009-12-04 14:12 ` forum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091203180036.GA17732@annexia.org \
    --to=rich@annexia.org \
    --cc=caml-list@yquem.inria.fr \
    --cc=rixed@happyleptic.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).