caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Edgar Friendly <thelema314@gmail.com>
To: caml-list@inria.fr
Subject: Re: [Caml-list] Some comments on recent discussions
Date: Fri, 16 Dec 2011 12:29:35 -0500	[thread overview]
Message-ID: <4EEB7FFF.1090708@gmail.com> (raw)
In-Reply-To: <4EEB3BF7.30401@frisch.fr>

On 12/16/2011 07:39 AM, Alain Frisch wrote:
> We don't necessarily need a full-blown packaging system, with dependency
> tracking, versioning, automatic download, etc.

At first, maybe.  In the long run, any friction in the system of 
inter-package dependencies grinds away at the composability of OCaml 
packages from different authors into a single solution.  This is the 
reason I support oasis and wrote odb, and this is the reason that 
everyone out there has their own stdlib.  Barriers to having package 
dependencies hinder the reuse of other people's code except in 
simplistic copy-and-paste of source code fashion.

This seems to be something that the haskell community has gotten 
right[1].  Whenever I run into a haskell package, it's common for it to 
have 5 or more dependencies on other packages, and those packages to 
have deps on others, etc.  And this *isn't* a problem for them.  I 
surmise that the haskell community has "greased" the process of 
dependencies sufficiently so that there is almost no friction in 
external dependencies.

In our community, external dependencies are painful - the existence of 
even one external dependency in batteries has been problematic for our 
users[2].  Furthermore, many people avoid using batteries because they 
don't want external dependencies for their own project.  Why?  Because 
dependencies are a pain.

To a great extent, we're stuck doing manual dependency resolution not 
just inside a project (mostly solved by ocamlbuild), but also between 
projects (mostly solved by findlib).  And because of the friction here, 
we're stuck in a community of tiny dependency trees and lots of 
re-inventing the wheel.

What's the next step?  Contribute to oasis with patches?  Oasis-ify your 
code and upload to oasis-db?  Fix GODI/mingw?  Build a proper dependency 
analysis system that can determine package dependencies from special 
comments in source files and compile them correctly *without* separating 
that metadata from the source file?  Something else?

Find your own pain-point in the current system and *fix* it.  Maybe a 
simple, crude, just barely good enough fix.  But share that fix with the 
community, and we all benefit, and can push forward a campaign to remove 
the pain of external dependencies from OCaml.

E.

[1] I'm speaking as an observer only, having no real experience with haskell
[2] Batteries has removed its last required external dependency as of 
2.0beta, but it has had internal a package that should be an external 
dep since before 1.0, so is still imperfect.

  parent reply	other threads:[~2011-12-16 17:29 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-06 15:24 Jonathan Protzenko
2011-12-06 15:31 ` Joel Reymont
2011-12-06 23:03   ` Martin Jambon
2011-12-06 16:01 ` Mihamina Rakotomandimby
2011-12-06 16:03 ` Benedikt Meurer
2011-12-06 16:56   ` Ashish Agarwal
2011-12-06 17:12 ` Gerd Stolpmann
2011-12-06 17:33 ` Alex Rubinsteyn
2011-12-06 17:53 ` Alain Frisch
2011-12-07  0:18   ` Paolo Donadeo
2011-12-07  1:00     ` oliver
2011-12-07  6:33       ` Mihamina Rakotomandimby
2011-12-07  1:48     ` Ashish Agarwal
2011-12-07  9:53       ` Goswin von Brederlow
2011-12-07 10:33     ` Pierre-Alexandre Voye
2011-12-07 11:18       ` Gabriel Scherer
2011-12-07 13:15         ` David MENTRE
2011-12-07 13:48           ` Alan Schmitt
2011-12-07 14:56           ` Ashish Agarwal
2011-12-07 15:52         ` oliver
2011-12-10 14:58         ` Xavier Leroy
2011-12-08  7:59       ` rixed
2011-12-08 10:37         ` oliver
2011-12-08 13:15         ` [Caml-list] Wanted book (Re: Some comments on recent discussions) Mihamina Rakotomandimby
2011-12-09 21:22           ` oliver
2011-12-09  7:13   ` [Caml-list] Some comments on recent discussions Martin Jambon
2011-12-10 20:32 ` Andrei Formiga
2011-12-10 21:01   ` Edgar Friendly
2011-12-10 21:12     ` rixed
2011-12-10 21:24       ` Edgar Friendly
2011-12-10 21:49         ` rixed
2011-12-10 22:45           ` Edgar Friendly
2011-12-10 23:58       ` Hans Ole Rafaelsen
2011-12-11 10:25       ` Gerd Stolpmann
2011-12-11 10:06   ` Gerd Stolpmann
2011-12-13 17:41   ` oliver
2011-12-13  5:54 ` Martin DeMello
2011-12-13  7:15   ` Gerd Stolpmann
2011-12-13  8:21     ` Martin DeMello
2011-12-13  8:51       ` Alain Frisch
2011-12-13  9:15         ` Gaius Hammond
2011-12-13 14:08           ` Gerd Stolpmann
2011-12-14  5:28           ` Alain Frisch
2011-12-13  9:51         ` Martin DeMello
2011-12-13  9:53         ` Adrien
2011-12-13 20:52           ` Jon Harrop
2011-12-14  6:03           ` Alain Frisch
2011-12-14  9:34             ` Jonathan Protzenko
2011-12-14 10:24               ` Alain Frisch
2011-12-14 13:37                 ` Adrien
2011-12-14 14:24                   ` Gabriel Scherer
2011-12-14 15:27                   ` Gerd Stolpmann
2011-12-14 15:46                     ` Gaius Hammond
2011-12-14 15:49                     ` Adrien
2011-12-14 16:42                       ` Fabrice Le Fessant
2011-12-14 17:04                       ` Alain Frisch
2011-12-15 21:38                         ` Adrien
2011-12-14 16:55                   ` Alain Frisch
2011-12-14 21:35                     ` Benedikt Meurer
2011-12-15 11:14                     ` Adrien
2011-12-14 12:52             ` Gerd Stolpmann
2011-12-14 13:25               ` Jonathan Protzenko
2011-12-14 17:27               ` Aleksey Nogin
2011-12-14 17:36                 ` Gerd Stolpmann
2011-12-14 19:41                   ` David Allsopp
2011-12-15 10:29                     ` Adrien
2011-12-15 17:41                       ` Martin DeMello
2011-12-15 20:47                         ` Adrien
2011-12-15 21:20                           ` Martin DeMello
2011-12-15 11:25                     ` Gerd Stolpmann
2011-12-16 12:39                   ` Alain Frisch
2011-12-16 12:44                     ` Jonathan Protzenko
2011-12-16 13:14                     ` Gerd Stolpmann
2011-12-16 14:11                       ` Alain Frisch
2011-12-16 14:50                         ` Gerd Stolpmann
2011-12-16 13:58                     ` Stéphane Glondu
2011-12-16 17:29                     ` Edgar Friendly [this message]
2011-12-14 18:41                 ` Dmitry Grebeniuk
2011-12-14 23:54               ` Martin DeMello
2011-12-15 10:03                 ` Adrien

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=4EEB7FFF.1090708@gmail.com \
    --to=thelema314@gmail.com \
    --cc=caml-list@inria.fr \
    /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).