From: Francois Berenger <berenger@riken.jp>
To: caml-list@inria.fr
Subject: Re: [Caml-list] Preferred layout for new packages
Date: Thu, 15 Nov 2012 10:20:25 +0900 [thread overview]
Message-ID: <50A44359.8060303@riken.jp> (raw)
In-Reply-To: <50A3AD8F.7020301@etorok.net>
On 11/14/2012 11:41 PM, Török Edwin wrote:
> On 11/14/2012 01:43 PM, Marek Kubica wrote:
>> Hi,
>>
>> I'm kinda new to the OCaml eco system and therefore a bit confused on a
>> number of issues:
>>
>> 1. Build system: what to use? I have tried OMake some time ago and
>> liked the automatic recompilation, but writing the OMakefiles was quite
>> awful and it does not seem popular.
>
> OMake has some nice features for more complex projects, for example
> polling the FS for changes and automatically rebuilding.
>
> However it requires your users to have OMake installed too, so
> ocamlbuild has an advantage here (it is installed together with the compiler).
Nowadays, OPAM allows to install most OCaml software and libraries easily.
For example:
$ opam install omake
Will install omake for you.
Cf. http://opam.ocamlpro.com/ or
https://github.com/OCamlPro/opam
Regards,
F.
>> What is the state of the art
>> solution?
>
> Try oasis, it provides a good starting point:
> http://oasis.forge.ocamlcore.org/
>
> You can later extend it with custom rules in _tags/myocamlbuild.ml if needed.
>
>>
>> 2. Unit tests: I used OUnit which was okay, but maybe there are better
>> solutions? I've seen that there is Kaputt and I have seen that there is
>> https://github.com/camlunity/ocaml-quickcheck as well as
>> https://github.com/vincent-hugot/iTeML which was extracted from
>> batteries recently.
>
> Kaputt seems to be a superset of OUnit feature-wise, don't know about the others.
> I've only used OUnit.
>
>>
>> 3. Stdlib: I don't mind depending on batteries and/or core, are there
>> any reasons against? Especially in the unit tests it drove me nuts that
>> I wasn't able to display results without writing printers, and I know
>> batteries has at least a generic printer.
>
> Are you writing an application or a library?
> If you're writing a library it is probably better to avoid unneeded dependencies, or provide optional
> subpackages (see the recent thread about pgocaml.batteries).
> That way people who don't use batteries/core can still use your package.
>
> Best regards,
> --Edwin
>
next prev parent reply other threads:[~2012-11-15 1:20 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-14 11:43 Marek Kubica
2012-11-14 14:41 ` Török Edwin
2012-11-14 16:36 ` Marek Kubica
2012-11-15 1:20 ` Francois Berenger [this message]
2012-11-14 14:42 ` Edgar Friendly
2012-11-14 17:00 ` Marek Kubica
2012-11-14 18:00 ` forum
2012-11-15 9:00 ` Philippe Veber
2012-11-14 18:17 ` Martin Jambon
2012-11-14 18:48 ` Markus Mottl
2012-11-14 19:35 ` Martin Jambon
2012-11-15 6:36 ` Cedric Cellier
2012-11-15 7:24 ` Marek Kubica
2012-11-15 9:17 ` rixed
[not found] <fa.38rAsBvHd+quECbtcbTH9HW+J6U@ifi.uio.no>
[not found] ` <fa.YCrkHurCi6yY5s0Qg1r6uLWNQdY@ifi.uio.no>
[not found] ` <fa.oeqp0ymFFL+o76ut/LjBeQhUcjQ@ifi.uio.no>
[not found] ` <fa.pEDV80ILnW8x1YQyKuF3NBsK3Kw@ifi.uio.no>
[not found] ` <fa.LQofvqHUt8xj1kM1rvmQZF+Z7rw@ifi.uio.no>
2012-11-15 8:13 ` vincent.hugot
2012-11-15 8:31 ` Francois Berenger
2012-11-15 9:20 ` rixed
2012-11-15 17:22 ` Aleksey Nogin
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=50A44359.8060303@riken.jp \
--to=berenger@riken.jp \
--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