From: David Sheets <kosmo.zb@gmail.com>
To: Yotam Barnoy <yotambarnoy@gmail.com>
Cc: Ocaml Mailing List <caml-list@inria.fr>
Subject: Re: [Caml-list] One build system to rule them all?
Date: Wed, 10 Sep 2014 14:05:12 +0100 [thread overview]
Message-ID: <CAAWM5TyF62Xx7oLO+_3U=O99JkMyd=hoCRvR0XRM-Pr8he8VoQ@mail.gmail.com> (raw)
In-Reply-To: <CAN6ygO=P_QTa6Wk0=Wx=0XLwhGOP=16eGaGiacA5N60nRjApDQ@mail.gmail.com>
On Wed, Sep 10, 2014 at 1:49 PM, Yotam Barnoy <yotambarnoy@gmail.com> wrote:
> It appears to me that every couple of months we hear of someone implementing
> yet another build system in ocaml. Given the success of opam, I think it's
> clear that sometimes a monolithic solution, behind which the entire
> community can organize, is the best solution -- especially for
> infrastructure.
opam is not a monolithic solution. For instance, it does not try to
mandate a build system and it uses external solvers if available.
> Looking at haskell, having cabal as the main build system
> has really helped them advance in terms of supporting other platforms (such
> as windows), and since all community efforts in this realm are focused on
> cabal, they can improve it rapidly.
Like all system design decisions, this is a trade-off. Cabal does
build and packaging. Cabal has some issues and limitations that may
not be fixable without major reworking.
> a. Is there any build system we can organize behind to crown as the official
> build system?
What is "official"? People get hit by buses, governments fall,
requirements change. I don't want an "official" build system.
> b. What are the use-cases missing from specific build systems, that have
> driven people to use other build systems?
Code-base size, dependency management, foreign-function binding, code
generation and staging, transparency, documentation, speed...
> c. To pick one possible candidate, if ocamlbuild were spun out of the
> compiler, could it be enhanced to cover all the main use-cases so (almost)
> everyone would be happy with it?
Probably not. One size does not fit all.
> It's just such a shame to see the ocaml community re-inventing the wheel
> over and over again, each time with some limitation so that the next person
> needs to do the same thing yet again.
A build system is considerably more complicated than a wheel. In many
cases, the issues responsible for re-work stem from design and social
factors, not technical problems. It's not clear to me that *any*
language community has actually completely solved the build system
problem. Writing and promoting a new build system which solves old
problems and does not regress the status quo seems like a laudable, if
thankless, goal.
If you'd like to contribute to a build system project to help it cover
more use cases and become The One True Build System, I suggest getting
involved with the project you feel has the best design, project
management, and philosophy and contributing your time and patches.
Best regards,
David
next prev parent reply other threads:[~2014-09-10 13:05 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-10 12:49 Yotam Barnoy
2014-09-10 13:00 ` Simon Cruanes
2014-09-10 13:02 ` Adrien Nader
2014-09-10 13:05 ` David Sheets [this message]
2014-09-10 14:04 ` Thomas Braibant
2014-09-10 14:13 ` Adrien Nader
2014-09-10 13:18 ` Mark Shinwell
2014-09-10 13:29 ` Francois Berenger
2014-09-10 13:53 ` Jacques-Pascal Deplaix
2014-09-10 13:55 ` Francois Berenger
2014-09-10 14:17 ` Maxence Guesdon
2014-09-10 19:13 ` Drup
2014-09-10 22:56 ` Gerd Stolpmann
2014-09-13 12:01 ` rixed
2014-09-13 12:21 ` Drup
2014-09-13 12:37 ` rixed
2014-09-13 12:50 ` Adrien Nader
2014-09-13 13:05 ` Drup
2014-09-19 11:15 ` Matej Kosik
2014-09-10 14:23 ` Gerd Stolpmann
2014-09-10 15:17 ` Leonardo Laguna Ruiz
2014-09-10 18:59 ` Yotam Barnoy
2014-09-10 19:16 ` Peter Zotov
2014-09-10 19:56 ` Sebastien Mondet
2014-09-10 20:15 ` Gabriel Scherer
2014-09-10 23:20 ` Gerd Stolpmann
2014-09-10 20:13 ` Adrien Nader
2014-09-11 7:53 ` Francois Berenger
2014-09-11 10:37 ` Yaron Minsky
2014-09-12 14:08 ` Yotam Barnoy
2014-09-12 14:31 ` Francois Berenger
2014-09-12 14:36 ` Anil Madhavapeddy
2014-09-12 18:49 ` Yaron Minsky
2014-09-12 15:10 ` SF Markus Elfring
2014-09-12 15:34 ` Adrien Nader
2014-09-12 18:50 ` Fabrice Le Fessant
2014-09-14 18:46 ` Richard W.M. Jones
2014-09-13 12:22 ` rixed
2014-09-15 13:34 ` Stéphane Glondu
2014-09-18 21:15 ` Yotam Barnoy
2014-09-18 21:21 ` Anil Madhavapeddy
2014-09-18 21:36 ` Yaron Minsky
2014-09-19 12:31 ` Daniel Bünzli
2014-09-19 13:06 ` Anil Madhavapeddy
2014-09-18 21:23 ` Yaron Minsky
2014-09-19 7:27 ` Gabriel Scherer
2014-09-19 15:03 ` Yaron Minsky
2014-09-12 16:54 ` [Caml-list] Re : " r.3
2014-09-14 18:16 ` [Caml-list] " Richard W.M. Jones
2014-09-19 9:14 ` r.3
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='CAAWM5TyF62Xx7oLO+_3U=O99JkMyd=hoCRvR0XRM-Pr8he8VoQ@mail.gmail.com' \
--to=kosmo.zb@gmail.com \
--cc=caml-list@inria.fr \
--cc=yotambarnoy@gmail.com \
/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).